docs(research): record POC-3 outcome — phase 0 gates all pass

- pocs.md: POC-3 marked complete/proceed with result summary; sequencing
  status updated
- alk-stack.md: verify item 2 (HTTP smart protocol shape) resolved,
  pointing at poc3-findings.md
This commit is contained in:
glm-5.3-flash committed 2026-09-21 02:45:08 +00:00
1 parent 8ef833430e
commit 70815e22a0
2 files changed
+18 -2

No files matched your search

+7
View File
@@ -87,6 +87,13 @@ door produced the stream.
2. **HTTP smart protocol shape**: confirm alkhttp's streaming response body
can carry a pack (chunked) and that request bodies stream in without
buffering the whole POST in memory (receive-pack can be gigabytes).
**Verified (POC-3, 2026-09-21)**: real git 2.43 clones/fetches
fsck-clean over `Connection → HttpAdapter → axum custom routes`;
request bodies stream (`BodyDataStream`, one hyper-read chunk per
`poll_next` — measured with a dribble probe and git's forced-chunked
POST path); pack responses stream under back pressure (bounded mpsc →
`Body::from_stream`, O(counts) RSS on a 60k-object clone). See
`poc3-findings.md`.
3. **alkcall backpressure/limits vs git sessions**: large clones are
long-lived, high-throughput, single-direction streams; confirm channels
buffer limits (ADR-040) don't fight pack streaming, or route git sessions
+11 -2
View File
@@ -81,6 +81,15 @@ whole pack in memory for large repos — record memory behavior for a
## POC-3: smart-http shape through alkhttp
**Status**: complete (2026-09-21) — **proceed**. See `poc3-findings.md`.
Real git 2.43 clones/fetches/tag-checkouts over `http://` through the full
alkcall → alkhttp path (`Connection::from_bidi(http/1.1)` → `HttpAdapter`
→ axum custom routes); request bodies stream (measured via dribble probe +
git's forced-chunked path), pack responses stream under back pressure with
O(counts) memory on a 60k-object clone. Key protocol correction: http V2
responses end at the flush — the `0002` response-end pkt is synthesized by
the client's transport helper, never sent on the wire.
**Hypothesis**: alkhttp can serve `GET /info/refs` and stream a POST body
(ingest without full buffering) for `git-receive-pack`.
@@ -99,8 +108,8 @@ POC-1 first (the BiStream/packetline fit is the load-bearing assumption).
POC-2 next (the crux of fetch). POC-3 last (http shape). Each POC updates
the corresponding research doc with results and a proceed/pivot/block note.
**Status**: POC-1 and POC-2 complete and proceed; POC-3 is the remaining
gate for phase 0 completion.
**Status**: POC-1, POC-2, and POC-3 complete and proceed — phase 0 gates
all pass.
## Modes applied to these POCs