Skip to content

feat(sync): add transport-neutral transactional bloom-sync engine (SYNC-02) #650

Open

Description

@boburning

Program package: SYNC-02 (risk 3, warm, device gate required)

Dependency: SYNC-01 merged as 7cf81bc.

Acceptance:

  • add one transport-neutral bloom-sync runtime owner; no Syncthing, cloud, socket, listener, or provider dependency
  • initialize a private local Ed25519 device identity and manage explicitly authorized peer keys without exposing key material in diagnostics
  • export bounded immutable bundle directories from regular local payload files, signing the RFC 8785-compatible canonical manifest defined by SYNC-01
  • validate in the fixed bounds/schema/bundle/device/key/signature/compatibility/conflict order and reject malformed, oversized, unauthorized, stale-key, tampered, or incompatible input without touching live Saves
  • classify all nine SYNC-01 outcomes without using wall time; stage only new-lineage/fast-forward candidates, make exact replay/stale ancestry idempotent, and quarantine or preserve review-required input
  • publish only an explicitly selected staged candidate while the game session is inactive, after creating a verified save snapshot, with same-directory atomic replacement and retained rollback material
  • keep generic transfer access to Saves read-only and emit only bounded privacy-safe structured status
  • integrate the runtime into the payload, bloomctl, network event reconciliation, dependency/provenance manifests, shell coverage, and architecture/security/save-sync documentation

Out of scope:

  • transport selection or synchronization daemon (SYNC-03)
  • Save Sync UI or remote conflict-resolution UX (SYNC-04)
  • physical controls/LCD/audio/gameplay certification

Validation:

  • focused bundle/identity/authentication/conflict/publication shell tests with synthetic Saves only
  • complete shell suite, native/ASan suites, deterministic UI gates, static analysis, pinned dependency/provenance validation, clean ARM build, required CI
  • signed Mini Plus warm/device evidence only after the currently installed UI-12 shutdown candidate is physically resolved

Activity

  1. boburning commented on Aug 31, 2026

    @boburning
    OwnerAuthor

    SYNC-02 host implementation and governance are current on PR #651 at a9fd690627738985a016cb7df824574d6de14b4c.

    • the authoritative v3 ledger now records SYNC-02 as device_gate_pending, maps PR feat(sync): add transactional bloom-sync engine #651, and keeps SYNC-03/SYNC-04 planned
    • focused bloom-sync plus ledger gate: 19/19
    • exhaustive local Shell gate: 850/850 across eight shards
    • exact-head GitHub native, AddressSanitizer, Shell, static-analysis, and clean ARM checks: all green
    • the read-only Mini Plus audit remains healthy on signed UI-12 candidate v0.1.0-dev-e9ce0c30 in testing, with the previous version and verified snapshot retained, no development overlay, idle network transaction, and a clean key-only listener audit

    No SYNC-02 candidate was deployed. The remaining dependency is the maintainer-observed #644 physical shutdown/power-off gate; after it is resolved, SYNC-02 still requires its own signed Warm checkpoint before merge. No transport or UI package has been promoted.

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

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions