From e43d2d184de7c6e9edf2d66b53fde9c78d22f394 Mon Sep 17 00:00:00 2001 From: "glm-5.3-flash" Date: Mon, 26 Oct 2026 15:52:34 +0000 Subject: [PATCH] =?UTF-8?q?docs(research):=20sharpen=20the=20door=20princi?= =?UTF-8?q?ple=20=E2=80=94=20two=20directions,=20vanilla=20on=20the=20outs?= =?UTF-8?q?ide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vision principle 2 extended: server = door for vanilla clients (vanilla in, family out; primary current purpose git), client = door to vanilla servers (family in, vanilla out — reverse-runner hub dials vanilla sshd; runner stays vanilla by design). Type symmetry at the seam (family-protocol types both directions, russh the vanilla side); honest asymmetry recorded (server serves seam entries, client consumes family types) --- docs/research/vision.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/docs/research/vision.md b/docs/research/vision.md index e9b00c0..7fa4ab2 100644 --- a/docs/research/vision.md +++ b/docs/research/vision.md @@ -35,10 +35,21 @@ not protocol invention. multiplexing, and userauth state machines come from russh; third- party-upstream posture applies (file asks upstream; never silently absorb a workaround). -2. **A door, not a backend.** alkssh speaks family-protocol types only - at the mapped seams. It carries no deployment policy: a downstream - app (alkforge) embeds it, enables features, and brings identity/ACL - configuration. +2. **A door in both directions, vanilla on the outside.** alkssh is a + door for vanilla clients (server direction: vanilla in, family out + — each channel served by a family seam entry; primary current + purpose: git) and a door to vanilla servers (client direction: + family in, vanilla out — the reverse-runner shape: a family hub + dials vanilla sshd and the ops map family-side onto the same + protocols, **alktty** for sessions, **alktunnels** for + tunnels/-D legs, **alkgit** for upstream git, alkfs client later + for sftp; the runner stays vanilla by design). Type symmetry at + the seam: the family-facing surface speaks family-protocol types + in BOTH directions; the vanilla side speaks russh. The asymmetry + is honest and recorded: the server direction *serves* family seam + entries; the client direction *consumes* family types. It carries + no deployment policy: a downstream app (alkforge) embeds it, + enables features, and brings identity/ACL configuration. 3. **Fail-closed everything.** The feature graph, the auth-method disposition, and the channel-request disposition all default to a clean decline. Nothing is advertised that isn't served; nothing is