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

+3 -3
View File
@@ -69,8 +69,8 @@ temp/<uuid>.temp staging (must be same-device as data/)
all (`fs/import.rs:160-221`, `DESIGN.md:71`). iroh couples "hash
overhead" and "storage tier" at the same boundary; under our git-oid
derivation there is no outboard to elide (whole-blob digest only) and
the tier boundary is a pure dispatch choice — POC #3's benchmark says
~64-128 KiB, not 16 KiB (see `poc-largeblob-findings.md`, B-finding).
the tier boundary is a pure dispatch choice — POC #3's benchmark says
~128-256 KiB, not 16 KiB (see `poc-largeblob-findings.md`, finding A4).
- **Crash-consistency story, borrowed as a conclusion** (`DESIGN.md:
126-142`, "files are hard"): persist data+outboard+sizes *first*, the
checksummed bitfield *last*, with truncate-to-zero-on-read marking a
@@ -195,4 +195,4 @@ findings (first-party, measured).
6. Crash-consistency ordering (data first, coverage/index last, with
dirty-marking) — only if partial entries ever exist.
7. The inline threshold concept, re-sized by our own benchmark
(~64-128 KiB crossover, git-blob workload) instead of their 16 KiB.
(~128-256 KiB crossover, git-blob workload) instead of their 16 KiB.