Skip to content

[P2][docs] Align README and RELIABILITY durability claims with actual semantics #18

Description

@cevheri

Summary

README and docs/RELIABILITY.md state durability guarantees that are publicly falsifiable with the current kernel/adapter behavior — especially after IO errors (B3) and missing directory fsync (B9). For a project whose manifesto stakes identity on honesty, this is the sentence a Hacker News commenter will quote and disprove.

Audit ID: B11 (Medium doc) — pre-announcement blocker for marketing truth, not code-only.

Problematic claims (examples)

README ~L266-268 / RELIABILITY.md ~L3:

  • "A returned transact() is durable" — false when B3 unfixed.
  • "A crash can only ever damage the last, un-fsync'd record" — false for IO-error poisoned WAL, short reads (B10), mid-log truncate (B8).

README status line ~L296 says "pre-alpha (0.0.x)" while package is 0.1.3 — self-contradiction (also tracked as separate small fix).

Dependencies

Do not close this issue until:

  • B3 (fsyncgate / failure latch) — merged or explicitly scoped in docs
  • B9 (dir fsync + truncate fsync) — merged or explicitly scoped
  • Prefer also: B8, B10 resolved or caveated

If blockers slip schedule, interim text must scope claims precisely:

On a healthy local disk with successful fsync, … IO-error handling improvements tracked in #XX.

Tasks for agent

  1. Read current README.md Reliability section and docs/RELIABILITY.md end-to-end.
  2. Align wording with actual crash model vs IO-error model vs multi-writer (B4).
  3. Update README status to match semver reality (0.1.x beta/early — pick honest label).
  4. Cross-link GitHub issues for known gaps instead of hiding them.
  5. No emoji; English only.

Acceptance criteria

  • No headline claim remains that a skeptic can disprove in ~20 lines without caveats.
  • Status line matches shipped version series.
  • RELIABILITY.md lists explicit non-guarantees (multi-writer, foreign file open before B1, async transact before B2).
  • No changeset required (docs only) unless README is copied into package — verify project policy; likely no changeset.

Related issues

  • B1, B2, B3, B4, B8, B9, B10
  • Separate issue for README status-only if split; can be same PR.

Agent constraints

  • Docs must not oversell; must not undersell the genuine crash-model strength.
  • Code wins over docs — if code fixed first, docs follow.

Verification

Manual review + bun run gate (no test changes expected).

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/docsPre-announcement auditdocumentationImprovements or additions to documentationpre-announcementPre-announcement auditpriority/mediumPre-announcement audit

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions