/** * Regression guard: the watch + event-push path must NOT mint phantom * `.conflict-*` mirrors for an ordinary single-writer local edit. * * Background (feedback_ef2b7c8c): a user editing files under * `companies/{slug}/` saw the menubar's watch/event-push runner mint a * `.conflict--` mirror on EVERY ordinary local Edit/Write — * thousands of phantom files in a single session. The watch/event-push runner * reacts to a local change by running a targeted `--direction push` pass, i.e. * `share()` over the changed company subtree, so the conflict-minting logic is * share()'s push-side conflict gate. The original gate flagged a conflict on * `localChanged` alone (`journalEntry.hash !== localHash`), which fires for * every edit of any already-synced file. The gate now requires * `(localChanged && remoteChanged) || isFreshCollision`: a single writer never * has `remoteChanged` (the live S3 ETag still equals the journal's recorded * baseline), so an ordinary edit is uploaded, not mirrored. * * This test pins that contract end-to-end through `share()` using the same * mocked-S3 harness as `share.test.ts`, modelling a single-writer remote whose * ETag is always exactly what THIS device last uploaded. A positive control * (a genuine out-of-band peer write) proves the guard is not trivially * always-zero: real divergence is still detected. */ export {}; //# sourceMappingURL=watch-event-push-conflict.test.d.ts.map