- OQ-02: rewritten as a clean resolved statement; contradictory deferred-table row removed - OQ-05: 'old-code anti-pattern' framing corrected — ephemeral-fleet accept-and-continue is a legitimate case-2 HostKeyPolicy; the crate rule is 'no hard-coded trust model', not 'accept-all forbidden'; dangling 'expected ADR-007' pointer replaced with the real contract locations (auth.md, client.md) - README: OQ counts corrected (6 resolved / 3 open / 4 deferred); sibling references normalized to real ADR IDs (alkcall 010 is alkhttp 014's analog; 'ADR-016-analog' was a wrong number) - client/auth: OQ-07 status corrected to resolved-at-adapter-level; TOFO typo; TOFU framing - ADR-004: dangling 'ADR-008' -> serve-config defaults - ADR-006: SOCKS5 typo - mapping: alktty typo; '(OQ-… note below)' placeholder -> the real POC-3 note reference - research: cross-repo numbers qualified (alktty OQ-44, alkvault ADR-021); reverse-runner lesson 5 reframed per correction - scaffolding: Cargo.toml description/comments and src/lib.rs doc comment updated against ADR-002/003/006 (dynamic-forward retired, git exec-only, russh pin decided); CHANGELOG logs POC completion and ADRs 001-006 Verification: cargo test, cargo clippy --all-targets -- -D warnings, cargo fmt --check, cargo check — all pass
44 lines
1.8 KiB
TOML
44 lines
1.8 KiB
TOML
# Single-crate protocol/door crate (the alktty template). No workspace:
|
|
# the composition story is deferred — alkssh's substance is the mappings
|
|
# (family ADR-003); the russh pin is decided (ADR-002: 0.65.0, aws-lc-rs).
|
|
[workspace]
|
|
members = ["."]
|
|
|
|
[package]
|
|
name = "alkssh"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.88"
|
|
license = "MIT OR Apache-2.0"
|
|
description = "SSH adapter for the alk family: russh-wrapped vanilla-ssh termination bridged to/from alkcall channels — session/pty, tunnels, git exec — with every capability mapping a fail-closed cargo feature (no features: no capabilities)"
|
|
repository = "https://git.alk.dev/alkdev/alkssh"
|
|
keywords = ["ssh", "russh", "protocol", "alkcall", "network"]
|
|
categories = ["network-programming", "asynchronous"]
|
|
# The package policy (the sibling crates' convention): the published crate
|
|
# ships the architecture docs (the authoritative contract) but not the
|
|
# process surface — reviews, research, plans, task files, the working
|
|
# agents' config, AGENTS.md.
|
|
exclude = [".opencode/", "AGENTS.md", "docs/reviews/", "docs/plans/", "docs/research/", "docs/sdd_process.md", "tasks/"]
|
|
|
|
[lib]
|
|
name = "alkssh"
|
|
|
|
[features]
|
|
# The capability feature graph (ADR-003) lands with implementation start:
|
|
# session (→ alktty), tunnel (→ alktunnels), git (→ alkgit), sftp (→
|
|
# alkfs, deferred placeholder). The default build carries no capabilities
|
|
# by design — every mapping is opt-in and every unfeatured channel open
|
|
# declines fail-closed.
|
|
default = []
|
|
|
|
[dependencies]
|
|
tokio = { version = "1.54.1", features = ["full"] }
|
|
# Deliberately empty until implementation start — the russh pin is decided
|
|
# (ADR-002: 0.65.0, aws-lc-rs); russh + alkcall + sibling-crate deps land
|
|
# with implementation.
|
|
|
|
[dev-dependencies]
|
|
|
|
[profile.release]
|
|
lto = "thin"
|