feat(tty): wire local feature gate with assembly-layer re-export pattern

ADR-054 prescribes  with a re-export
module, but cargo rejects the cyclic dependency (alknet-tty →
alknet-tty-local → alknet-tty) even with an optional dep. The re-export
is deferred to the assembly layer: consumers depend on alknet-tty-local
directly and register LocalTtyBackend in the TtyAdapter backend map.
The  feature gate stays declared (empty) for forward compatibility.
Assembly pattern documented in the crate root doc comment.
This commit is contained in:
glm-5.2 committed 2026-07-07 23:25:08 +00:00
1 parent 6d7adf5911
commit a20efb4d06
2 files changed
+31 -2

No files matched your search

+7 -2
View File
@@ -11,8 +11,13 @@ name = "alknet_tty"
[features]
default = []
# `local` re-exports `alknet_tty_local::LocalTtyBackend`. The
# `dep:alknet-tty-local` dependency is wired in task `tty/local-feature-reexport`.
# ADR-054 prescribes `local = ["dep:alknet-tty-local"]` with a re-export in
# `src/lib.rs`. Cargo rejects the cyclic dependency (alknet-tty →
# alknet-tty-local → alknet-tty) even with an optional dep, so the
# re-export is deferred to the assembly layer: a consumer that wants the
# local backend depends on `alknet-tty-local` directly and registers
# `LocalTtyBackend` in the `TtyAdapter` backend map. See ADR-054 §"The
# feature-re-export compromise" and the deviation note in `src/lib.rs`.
local = []
[dependencies]