Files
alkgit/docs/research
glm-5.3-flash 3e68cb5b68 docs(research): POC-2 complete — server-side pack generation verified
POC-2 (standalone mode, /workspace/alkgit-poc2) confirms the fetch crux:
gitoxide's own generation pipeline streams valid packs to any io::Write,
and real git 2.43 clones/fetches over the POC-1 bridge with fsck --strict
passing on every clone.

- Findings: docs/research/poc2-findings.md (proceed)
- git-protocol.md: pack-generation option list resolved ((b) wins);
  record two-stage closure (commit ancestry -> TreeContents), odb handle
  prerequisites, bundle::write's real role (receive-pack indexing),
  missing-delta-synthesis note
- gitoxide.md: generation pipeline + gix-odb API contract notes
  (Cache !Sync, prevent_pack_unload, missing_objects check)
- pocs.md: POC-2 outcome recorded; POC-3 is the remaining phase-0 gate

Verification: cargo run -- selftest (gen -> bundle roundtrip ->
index-pack --strict -> verify-pack -> unpack-objects --strict -> fsck ->
closure cross-check -> sideband wire decode); 10k-commit/60k-object
fixture: closure 60000==60000, pack 5.33MB in 5.5s at ~11MB extra RSS;
real git clones (loose and packed sources) + tag checkout + incremental
fetch all fsck-clean over git:// through the alkcall Connection/BiStream
path
2026-09-20 18:36:11 +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.