Add local file conflict metadata

This commit is contained in:
Eric Wendland 2026-05-18 03:57:26 +02:00
commit 20c88af800
13 changed files with 673 additions and 15 deletions

View file

@ -94,9 +94,12 @@ blobs. The CAS crate can build deterministic tree objects that describe
directories, files, executable bits, and file blob hashes; those tree objects
are stored as CAS blobs. The daemon can register local file roots and scan them
into CAS tree objects while reporting create/update/delete/rename changes. These
scans are local metadata only and never overwrite the working tree. Iroh-blobs,
providers, encrypted blobs, richer cache policies, cross-node file roots, and
sync conflict handling are future work.
scans are local metadata only and never overwrite the working tree. The daemon
also has durable local file-conflict records with explicit resolution choices;
future cross-node file sync will create those records automatically instead of
silently applying ambiguous remote changes. Iroh-blobs, providers, encrypted
blobs, richer cache policies, cross-node file roots, and automatic conflict
detection are future work.
`geth-db` currently registers local SQLite paths as DB resources and reports
local-only sync status plus a read-only SQLite schema summary/hash. It also

View file

@ -361,11 +361,16 @@ and future group key evolution.
recorded future sync decision.
- `[ ]` File roots can be synced across nodes.
- `[ ]` Conflict handling.
- `[~]` Conflict handling.
Acceptance criteria:
- Conflicts are represented as durable metadata.
- CLI can list conflicts and choose a resolution.
- Tests cover concurrent edit, delete/edit, and rename conflicts.
- `[x]` Conflicts are represented as durable metadata.
- `[x]` CLI/control can record, list, and choose a resolution for local
conflict metadata.
- `[x]` Tests cover local concurrent edit conflict record/list/resolve.
- `[ ]` Future sync records conflicts automatically from base/local/remote
tree comparisons.
- `[ ]` Tests cover automatic concurrent edit, delete/edit, and rename
conflict detection.
- `[ ]` Keyhive-like convergent capabilities.
Acceptance criteria: