Skip to content

[P3][adapters] Document OPFS flush() weaker power-loss guarantees #39

Closed

Description

@cevheri

Summary

OPFS flush() may not provide same power-loss guarantees as POSIX fsync. Adapter maps fsync() → flush() without documenting weaker contract.

Audit ID: Section 4 Low — Wave 3
Location: src/adapter/opfs.ts:69-71
Related: #10 OPFS E2E

Tasks

  1. Research OPFS sync handle durability docs (Chrome/Firefox).
  2. Document in docs/RELIABILITY.md and adapter JSDoc what flush guarantees.
  3. Verify OPFS browser persistence end-to-end on Chrome, Firefox, and Safari #10 E2E should verify best-effort persistence where possible.

Acceptance criteria

  • Weaker browser contract documented honestly.
  • No false parity with node-fs in README.
  • Docs-only changeset usually not needed.

Activity

  1. added
    documentationImprovements or additions to documentation
    area/docsPre-announcement audit
    on Jul 2, 2026
  2. cevheri commented on Jul 3, 2026

    @cevheri
    MemberAuthor

    Implemented and shipped in PR #43 (merge commit 69f7161), released as v0.2.0. The PR description's comma-separated Closes list only auto-closed the first reference — closing manually. For #39/#28-style partials: the shipped scope is done; the real-browser verification half of #39 continues under #10, and the typed-error contract (#28) shipped as LibreDbError with stable codes across kernel, adapters, lenses, and CLI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/adaptersPre-announcement auditarea/docsPre-announcement auditdocumentationImprovements or additions to documentationpriority/lowPre-announcement audit

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions