docs(research): Phase 0 convergence — settle OQs, add decision table + ADR backlog

- phase-0.md: fold chronological accretion into a settled posture;
  status -> converged; OQ-BL-01..06 restated as settled-base +
  named residuals; new Convergence section (recommended approach,
  decision table, Phase 1 ADR backlog); plan section marked complete
- iroh-blobs-eval.md: fix crossover numbers (64-128 -> 128-256 KiB,
  matching POC #3 finding A4) and B-finding -> finding-A4 reference
- poc-largeblob-findings.md: summary-table label fix (B-finding ->
  finding A4); align small-blob multiplier with measured 9-10x

Verification: cargo test / clippy -D warnings / fmt --check clean
This commit is contained in:
glm-5.3-flash committed 2026-10-01 13:01:59 +00:00
1 parent 6b278fb490
commit 1f905003d0
3 files changed
+458 -536

No files matched your search

+1 -1
View File
@@ -48,7 +48,7 @@ rides is alkcall (like alkhttp/alksocks/alktty/alktunnels).
| Streaming get without whole-blob load | **Yes** — fs arm streams a file handle; kv arm one bounded read |
| Fanout (serve while persisting) | **Yes** — one reader task, broadcast channel, store arm + N subscriber arms (finding A3) |
| Range reads on fs | **Yes** — pread-window only; **verification has a real gap** (finding A2) |
| sqlite faster than fs for small blobs | **Confirmed and measured** — ~10× below 16 KiB; crossover ~128-256 KiB (B-finding) |
| sqlite faster than fs for small blobs | **Confirmed and measured** — ~9-10× at 1-16 KiB; crossover ~128-256 KiB (finding A4) |
| Digest = git oid on streaming paths | **Byte-exact vs `git hash-object`** for both put paths |
| Stage-file hygiene | **Verified** — failures (stream error, overflow, early-EOF) leave zero stage files (finding A5) |