Forge Miniv1.1.0Feature Complete

Local-First Sync Conflict Lab

Fix deletion-versus-null handling and add visual conflict choices, hash-bound replay and opt-in keyed-array identity contracts.

v1.1.0Current release
MITSource license
3Supported platform groups
Developer ToolsCatalog category

The problem it solves

Local-First Sync Conflict Lab [](https://github.com/loganpendragonmultiverse/local-first-sync-conflict-lab/actions/workflows/ci.yml)

Who Local-First Sync Conflict Lab is for

  • Developers and maintainers who need reviewable evidence before changing or releasing software.
  • Users working with local-first, sync, conflict resolution who want the documented v1.1.0 behavior.
  • People who prefer an open-source release with visible limitations, source, and license terms.

Intended result

Fix deletion-versus-null handling and add visual conflict choices, hash-bound replay and opt-in keyed-array identity contracts.

This summary is reconciled from the current catalog and repository documentation.

Features in v1.1.0

Capabilities below come from the current project README and release documentation.

01

[](https://github.com/loganpendragonmultiverse/local-first-sync-conflict-lab/actions/workflows/ci.yml)

02

Simulate and explain a three-way synchronization merge from base, local, and remote JSON snapshots. The local CLI classifies same, local-only, remote-only, and both-changed values; records replayable input hashes; and can model manual, prefer-local, prefer-remote, or newest-snapshot policies.

Verified examples

Screenshots are shown only when the current README references a local source image. Otherwise, repository example files are linked directly.

Platforms and implementation

The public release claims only the cataloged platforms and technologies.

Supported platforms

  • Windows
  • macOS
  • Linux

Built with

  • Python

What changed in v1.1.0

Fix deletion-versus-null handling and add visual conflict choices, hash-bound replay and opt-in keyed-array identity contracts.

sync-conflict-lab base.json local.json remote.json --format html --output review.html

The HTML review shows base/local/remote values with explicit absence indicators and lets you download selected local/remote decisions. --replay accepts that version 1 plan only when all three input SHA-256 hashes match, using manual policy and the saved keyed_arrays contract. --keyed-arrays maps JSON pointers (root or object-field arrays) to a non-empty string identity field; duplicate/missing identities are rejected. Keyed arrays merge fields by identity, retain base order then new local/remote IDs, and explicitly ignore reorder-only changes. Other arrays stay atomic. Deletion remains distinct from null and resolved deletions no longer become unserializable copied sentinels. Reports contain source values and remain local simulations, not production synchronization engines.

Quick start

The shortest documented path into the current release.

python -m pip install .
sync-conflict-lab examples/base.json examples/local.json examples/remote.json
sync-conflict-lab examples/base.json examples/local.json examples/remote.json --strategy prefer-local --format json --output result.json

Exit code 1 means manual conflicts remain unresolved, 0 means the selected policy produced a complete simulated result, and 2 means the inputs or command were invalid. Existing reports are never overwritten.

Current limitations

These boundaries are part of the product and prevent the page from implying unverified capability.

Everything runs locally without accounts, telemetry, storage, or network requests. Reports may reproduce conflicting input values so they can contain sensitive data and must be protected accordingly.

This is a deterministic policy simulator, not a production synchronization engine or CRDT. It does not infer identities inside arrays, validate an application's schema, guarantee convergence across repeated real-world operations, contact a server, or write merged data back into an application.

Privacy and licensing

Review the actual data boundary before using a tool with sensitive inputs.

Privacy and safety

Everything runs locally without accounts, telemetry, storage, or network requests. Reports may reproduce conflicting input values so they can contain sensitive data and must be protected accordingly.

This is a deterministic policy simulator, not a production synchronization engine or CRDT. It does not infer identities inside arrays, validate an application's schema, guarantee convergence across repeated real-world operations, contact a server, or write merged data back into an application.

License and release

Local-First Sync Conflict Lab is published under MIT. The current cataloged release is v1.1.0, published 2026-09-07.

Related projects

Related projects are selected deterministically from shared catalog tags, category, and implementation technologies—not popularity or paid placement.

Current public release

Local-First Sync Conflict Lab v1.1.0

Use the tagged release for downloads and release notes. Use the repository for source, issues, contribution guidance, security reporting, and complete documentation.

Page source: current Forge catalog plus README and CHANGELOG from the canonical local repository. Fingerprint: 8c2aed573c476515.