Files
alkgit/docs/research
glm-5.3-flash 8ef833430e docs(research): POC-3 complete — smart-http through alkhttp verified
- 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); h2c clone also verified
- request bodies stream (measured): BodyDataStream yields one hyper-read
  chunk per poll_next; dribble probe + 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 (peak ~8 MB above idle at 5.33 MB pack)
- protocol correction for git-protocol.md: http V2 responses end at the
  flush; the 0002 response-end pkt is synthesized by remote-curl, never on
  the wire; first POST carries the cached capability dump; flush-only POST
  (probe_rpc) wants 200 + empty body
- POC-3 outcome recorded in pocs.md; alk-stack.md item 2 resolved

Verification: cargo test / clippy -D warnings / fmt --check clean
2026-09-21 02:44:25 +00:00
..

alkgit Research Index

Phase 0 (exploration) research. Feeds phase 1 (architecture).

Doc Topic Status
vision.md Vision, guiding principles, non-goals, phase-0 checklist draft v1
gitoxide.md gitoxide (gix) capability + version alignment initial pass complete
alk-stack.md alk stack fit, integration surface, gitea-lesson constraints initial pass complete
git-protocol.md Server-side git smart protocol inventory (what we own) initial pass complete
reference-policy.md Licenses, reference projects, reuse policy complete
pocs.md POC plan (what to validate before architecture commits) planned

Key findings so far

  • gitoxide covers storage + pkt-line; the server half of the smart protocol is ours to write (gix-protocol/transport are client-side).
  • Published gix 0.87.1 == local clone base; pin crates.io versions.
  • alkcall BiStream is the natural substrate under pkt-line for both ssh and http paths.
  • The incompatible-license prior art confirms feasibility but contributes nothing; policy in reference-policy.md.
  • gix with default-features = false requires an explicit hash feature; workspace pins sha1 with a sha256 passthrough feature everywhere.

Convergence criteria (phase 0 → phase 1)

Phase 0 is done when POC-1..3 have results and a recommended-approach summary is written here (append below). Then the Architect produces docs/architecture/ per sdd_process.