docs(research): correct layer vocabulary — alkcall has no transport code

- Verified against alkcall 0.8.1: no networking deps; Connection wraps
  a caller-provided established stream (ADR-012 dial/call decoupling)
- 'transport' was being used loosely for 'wire/ops protocol'; now
  reserved for endpoints/dialing/byte-moving, which is in neither
  crate. Ops/framing/ACL surface = wire/ops protocol (alkcall's layer)
- Vision sentence, scope line, OQ-BL-01 argument, and alkcall
  prior-art entry rewritten with the accurate layering; alkcall entry
  now states the transport-free fact explicitly
- iroh-blobs-eval.md: 'welded to their transport' -> 'welded to their
  protocol stack (endpoints/transport weld on above it)'

Verification: cargo test / clippy -D warnings / fmt --check clean
This commit is contained in:
glm-5.3-flash committed 2026-10-01 13:37:09 +00:00
1 parent b0b385d94e
commit 7d9ac8a6ec
2 files changed
+40 -27

No files matched your search

+4 -2
View File
@@ -31,7 +31,9 @@ Lessons for alkblobs:
- **The command-enum-as-contract is a working pattern** (it is what
makes iroh-blobs' remote/local symmetry possible), but it carries the
whole irpc machinery into the store layer and *is* the reason their
store is welded to their transport. POC #1's lean `Backend` trait is
store is welded to their protocol stack (theirs also welds transport
endpoints above that; the store-actor weld alone is what kills
backend swappability). POC #1's lean `Backend` trait is
the smaller hammer for our split: the trait stays dumb (opaque bytes),
and any ops surface above it (alkcall) speaks its own protocol.
- **Re-borrowed conclusion, not mechanism: per-hash serialized actors.**
@@ -175,7 +177,7 @@ findings (first-party, measured).
## Do-not-inherit list (re-confirmed against 0.103)
- The `Command`-actor + irpc store abstraction (welds store to their
transport stack).
protocol stack; endpoints/transport weld on above it).
- redb-specific entry-state modeling if we go sqlite (their tables and
`EntryState` postcard encoding are theirs; our sqlite schema is
`key → (value, size)` and our dispatch is store-layer policy).