@izagood/avcs 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -99,12 +99,14 @@ export interface RemoteConfig {
99
99
  */
100
100
  export interface ContentionWarning {
101
101
  key: string;
102
+ /** `line` is populated for an `acrossLines` check, so the caller can name the branch. */
102
103
  theirs: {
103
104
  op: string;
104
105
  actor: string;
105
106
  lamport: number;
106
107
  purpose: string;
107
108
  createdAt: string;
109
+ line?: string;
108
110
  }[];
109
111
  leaseHolders: {
110
112
  actor: string;
@@ -241,6 +243,13 @@ export declare class Repo {
241
243
  * structured-log warnings + a metric. Additive only — the return type is unchanged
242
244
  * (surfaces that want the warnings themselves call {@link contention} directly). */
243
245
  warnContention?: boolean;
246
+ /** Make that check cross-line (see {@link contention}'s `acrossLines`). The capture
247
+ * path uses this: the git bridge puts every parallel session on its own line, so a
248
+ * line-scoped check is structurally blind to them. */
249
+ contentionAcrossLines?: boolean;
250
+ /** Receive the warnings the check produced, so a caller can surface them to a human
251
+ * without re-running the scan. Called only when `warnContention` is set. */
252
+ onContention?: (warnings: ContentionWarning[]) => void;
244
253
  }): Promise<string>;
245
254
  /** Convenience: write file content as a blob + a put_file operation. */
246
255
  proposeFileWrite(args: {
@@ -259,6 +268,8 @@ export declare class Repo {
259
268
  privateKey: string;
260
269
  };
261
270
  warnContention?: boolean;
271
+ contentionAcrossLines?: boolean;
272
+ onContention?: (warnings: ContentionWarning[]) => void;
262
273
  }): Promise<string>;
263
274
  /**
264
275
  * Language-neutral edit (docs/15): submit the FULL new content of a file together with
@@ -287,6 +298,8 @@ export declare class Repo {
287
298
  privateKey: string;
288
299
  };
289
300
  warnContention?: boolean;
301
+ contentionAcrossLines?: boolean;
302
+ onContention?: (warnings: ContentionWarning[]) => void;
290
303
  }): Promise<string>;
291
304
  attachEvidence(args: {
292
305
  forOps: string[];
@@ -348,12 +361,19 @@ export declare class Repo {
348
361
  * - `actorId` (+ optional `keys`): that actor's ops on the resolved keys seed the
349
362
  * closure; with no `keys` given, every key the actor has authored on is checked.
350
363
  * - `keys` alone: no closure filter — everything live by anyone on the key reports.
364
+ *
365
+ * `acrossLines` (default false — existing callers are untouched) drops the line-equality
366
+ * filter. The git bridge maps each git branch to its own line (`lineFor()` in the CLI), so
367
+ * with N parallel sessions on N branches a line-scoped check cannot see ANY of them; the
368
+ * cross-line check does, and reports each competing op's `line` so the caller can name the
369
+ * branch. Lines are intentionally divergent by design, so this stays opt-in.
351
370
  */
352
371
  contention(args: {
353
372
  keys?: string[];
354
373
  sessionOid?: string;
355
374
  actorId?: string;
356
375
  line?: string;
376
+ acrossLines?: boolean;
357
377
  }): Promise<ContentionWarning[]>;
358
378
  /** Build a minimal repair packet for ops whose validation failed. */
359
379
  repairContext(opOids: string[]): Promise<import("../validation/repair.ts").RepairContext>;
@@ -621,14 +641,42 @@ export declare class Repo {
621
641
  */
622
642
  revert(opOid: string, actor: Actor, line?: string): Promise<string>;
623
643
  static readonly REDUCE_CACHE_MAX = 64;
644
+ /**
645
+ * Minimum line similarity for the capture path to call a removed × added pair a MOVE
646
+ * rather than an unrelated delete + create (docs/19 §3.1, and §6 R3 asks for exactly one
647
+ * place to tune it). 0.5 is git's `-M` default, so a tree avcs captures and the same tree
648
+ * `git diff -M` describes agree about what moved. Raising it makes capture more
649
+ * conservative (more moves recorded as delete + create, which is the pre-Stage-0
650
+ * behaviour); lowering it risks attaching a wrong merge base, which is worse than none.
651
+ */
652
+ static readonly RENAME_SIMILARITY = 0.5;
624
653
  /** Write a view's materialized files into `workDir` (alongside .avcs, like git). */
625
654
  checkoutInto(workDir: string, view?: string, opts?: {
626
655
  workspace?: string;
627
656
  }): Promise<string[]>;
628
657
  /**
629
658
  * Commit a working tree: diff `workDir`'s files against the materialized view and
630
- * author put_file / delete_file ops for the changes (the git `add`+`commit` step,
631
- * which agents do via operation.propose). Causally builds on the current frontier.
659
+ * author edit_file / put_file / delete_file ops for the changes (the git `add`+`commit`
660
+ * step, which agents do via operation.propose). Causally builds on the current frontier.
661
+ *
662
+ * A MODIFIED file is captured as `edit_file` with the previously projected content as its
663
+ * 3-way merge base — that base is already in hand here, and blobs are content-addressed so
664
+ * re-putting it is free (dedup). This is what lets two sessions editing disjoint regions of
665
+ * one file auto-merge (L1) instead of colliding as two base-less `put_file`s (docs/15 §3).
666
+ * ADDED files keep `put_file` (a create genuinely has no base), and so does any content that
667
+ * is not losslessly UTF-8 text (see `#isMergeableText`).
668
+ *
669
+ * A MOVED file is recovered from the removed × added pair (`#detectRenames`, docs/19 §3.1)
670
+ * and captured as `rename_file` — plus an `edit_file` at the NEW path, based on the content
671
+ * from BEFORE the move, when it was edited on the way. Without this the reducer's whole
672
+ * rename × edit commutativity is unreachable from real usage: a path-set diff turns every
673
+ * move into a delete racing an edit and a create with nothing to merge against. Recovered
674
+ * moves are reported in `renamed` and are NOT double-counted in `added`/`removed`.
675
+ *
676
+ * Capture also runs the early conflict warning with CROSS-LINE visibility: the git bridge
677
+ * maps each branch to its own line, so a competing session is on a *different* line and a
678
+ * line-scoped check would never see it. The warnings are returned (`contention`) so the CLI
679
+ * can put them in front of the human running `git commit`.
632
680
  */
633
681
  commitWorkingTree(workDir: string, opts: {
634
682
  message: string;
@@ -640,7 +688,14 @@ export declare class Repo {
640
688
  added: string[];
641
689
  modified: string[];
642
690
  removed: string[];
691
+ /** Moves recovered from the removed × added pairing (docs/19 §3.1). These paths do NOT
692
+ * also appear in `added`/`removed`. */
693
+ renamed: {
694
+ from: string;
695
+ to: string;
696
+ }[];
643
697
  intent: string;
698
+ contention: ContentionWarning[];
644
699
  }>;
645
700
  /** Read the repo-local git-bridge mode (default `sidecar` for pre-existing repos). */
646
701
  getGitMode(): Promise<GitMode>;
@@ -733,8 +788,15 @@ export declare class Repo {
733
788
  added: string[];
734
789
  modified: string[];
735
790
  removed: string[];
791
+ renamed: {
792
+ from: string;
793
+ to: string;
794
+ }[];
736
795
  intent: string;
737
796
  };
797
+ /** Cross-line early warnings the capture raised (docs/17 §15.3): another branch/session
798
+ * has live concurrent work on a file this commit touches. Advisory — never blocking. */
799
+ contention: ContentionWarning[];
738
800
  conflicts: ReductionResult["conflicts"];
739
801
  checkpoint?: string;
740
802
  treeHash?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/api/repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/api/repo.ts"],"names":[],"mappings":"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"}
package/dist/api/repo.js CHANGED
@@ -19,6 +19,8 @@ import { computeReliability } from "../policy/reliability.js";
19
19
  import { defaultPolicy, MATERIALIZER_VERSION } from "../reducer/policy.js";
20
20
  import { Keyring, generateKeypair, signMessage, } from "../core/identity.js";
21
21
  import { checkLease, isActive, scopesOverlap } from "../concurrency/lease.js";
22
+ import { isBinary } from "../core/bytes.js";
23
+ import { lcsLineLength } from "../merge/merge3.js";
22
24
  import { Metrics } from "../observe/metrics.js";
23
25
  import { silentLogger } from "../observe/logger.js";
24
26
  // Sidecar: ignore EVERYTHING under .avcs/ (the `*` also ignores this file itself), so the
@@ -484,16 +486,23 @@ export class Repo {
484
486
  for (const key of keysOf({ ...op, oid }))
485
487
  await this.store.appendEntityIndex(key, oid);
486
488
  if (args.warnContention) {
487
- const warnings = await this.contention({ keys: [...keysOf({ ...op, oid })], actorId: op.actor.id, line: args.line });
489
+ const warnings = await this.contention({
490
+ keys: [...keysOf({ ...op, oid })],
491
+ actorId: op.actor.id,
492
+ line: args.line,
493
+ ...(args.contentionAcrossLines ? { acrossLines: true } : {}),
494
+ });
488
495
  for (const w of warnings) {
489
496
  this.metrics.inc("contention.warnings");
490
497
  this.logger.warn("contention.warn", {
491
498
  key: w.key,
492
499
  op: oid,
493
- theirs: w.theirs.map((t) => `${t.actor}:${t.op.slice(0, 16)}`),
500
+ // `@line` appears only for a cross-line check (that is when `line` is populated).
501
+ theirs: w.theirs.map((t) => `${t.actor}${t.line ? `@${t.line}` : ""}:${t.op.slice(0, 16)}`),
494
502
  leaseHolders: w.leaseHolders.map((l) => l.actor),
495
503
  });
496
504
  }
505
+ args.onContention?.(warnings);
497
506
  }
498
507
  return oid;
499
508
  }
@@ -513,6 +522,8 @@ export class Repo {
513
522
  workspace: args.workspace,
514
523
  signWith: args.signWith,
515
524
  warnContention: args.warnContention,
525
+ contentionAcrossLines: args.contentionAcrossLines,
526
+ onContention: args.onContention,
516
527
  });
517
528
  }
518
529
  /**
@@ -540,6 +551,8 @@ export class Repo {
540
551
  workspace: args.workspace,
541
552
  signWith: args.signWith,
542
553
  warnContention: args.warnContention,
554
+ contentionAcrossLines: args.contentionAcrossLines,
555
+ onContention: args.onContention,
543
556
  });
544
557
  }
545
558
  async attachEvidence(args) {
@@ -616,6 +629,12 @@ export class Repo {
616
629
  * - `actorId` (+ optional `keys`): that actor's ops on the resolved keys seed the
617
630
  * closure; with no `keys` given, every key the actor has authored on is checked.
618
631
  * - `keys` alone: no closure filter — everything live by anyone on the key reports.
632
+ *
633
+ * `acrossLines` (default false — existing callers are untouched) drops the line-equality
634
+ * filter. The git bridge maps each git branch to its own line (`lineFor()` in the CLI), so
635
+ * with N parallel sessions on N branches a line-scoped check cannot see ANY of them; the
636
+ * cross-line check does, and reports each competing op's `line` so the caller can name the
637
+ * branch. Lines are intentionally divergent by design, so this stays opt-in.
619
638
  */
620
639
  async contention(args) {
621
640
  const line = args.line ?? "main";
@@ -658,7 +677,9 @@ export class Repo {
658
677
  if (!(await this.store.has(oid)))
659
678
  continue; // GC'd since indexed
660
679
  const op = await this.store.get(oid);
661
- if ((op.line ?? "main") !== line || op.private)
680
+ if (op.private)
681
+ continue;
682
+ if (!args.acrossLines && (op.line ?? "main") !== line)
662
683
  continue;
663
684
  ops.push({ ...op, oid });
664
685
  }
@@ -671,7 +692,16 @@ export class Repo {
671
692
  return o.actor.id !== mine && !myClosure.has(oid) && !rejected.has(oid) && !builtUpon.has(oid);
672
693
  })
673
694
  .sort((a, b) => a.lamport - b.lamport || String(a.oid).localeCompare(String(b.oid)))
674
- .map((o) => ({ op: o.oid, actor: o.actor.id, lamport: o.lamport, purpose: o.declaredPurpose, createdAt: o.createdAt }));
695
+ .map((o) => ({
696
+ op: o.oid,
697
+ actor: o.actor.id,
698
+ lamport: o.lamport,
699
+ purpose: o.declaredPurpose,
700
+ createdAt: o.createdAt,
701
+ // Only for a cross-line check: without it the field is redundant (always `line`),
702
+ // and adding it unconditionally would change every existing caller's payload.
703
+ ...(args.acrossLines ? { line: o.line ?? "main" } : {}),
704
+ }));
675
705
  const leaseHolders = leases
676
706
  .filter((l) => l.actor.id !== mine && l.writeScopes.some((s) => scopesOverlap(key, s)))
677
707
  .map((l) => ({
@@ -1947,6 +1977,15 @@ export class Repo {
1947
1977
  // repeats). A clone is returned so callers can mutate without corrupting the cache.
1948
1978
  #reduceCache = new Map();
1949
1979
  static REDUCE_CACHE_MAX = 64;
1980
+ /**
1981
+ * Minimum line similarity for the capture path to call a removed × added pair a MOVE
1982
+ * rather than an unrelated delete + create (docs/19 §3.1, and §6 R3 asks for exactly one
1983
+ * place to tune it). 0.5 is git's `-M` default, so a tree avcs captures and the same tree
1984
+ * `git diff -M` describes agree about what moved. Raising it makes capture more
1985
+ * conservative (more moves recorded as delete + create, which is the pre-Stage-0
1986
+ * behaviour); lowering it risks attaching a wrong merge base, which is worse than none.
1987
+ */
1988
+ static RENAME_SIMILARITY = 0.5;
1950
1989
  #cloneResult(r) {
1951
1990
  return {
1952
1991
  tree: new Map(r.tree),
@@ -2166,19 +2205,147 @@ export class Repo {
2166
2205
  }
2167
2206
  return written.sort();
2168
2207
  }
2208
+ /**
2209
+ * Whether `buf` may travel the `edit_file` (text 3-way merge) path. `proposeEdit` takes
2210
+ * a `string`, so anything that is not LOSSLESSLY UTF-8 would be silently corrupted by the
2211
+ * Buffer→string→Buffer round trip (invalid sequences become U+FFFD). The NUL check keeps
2212
+ * the classification identical to `merge3`/`reducer`'s binary route (`core/bytes.isBinary`,
2213
+ * git's heuristic), so a file the merger would refuse to line-merge is never captured as
2214
+ * if it could be. Everything rejected here falls back to `put_file`, which is byte-exact.
2215
+ */
2216
+ #isMergeableText(buf) {
2217
+ if (isBinary(buf))
2218
+ return false;
2219
+ return Buffer.from(buf.toString("utf8"), "utf8").equals(buf);
2220
+ }
2221
+ /**
2222
+ * Pair `removed` paths against `added` ones to recover MOVES from a path-set diff
2223
+ * (docs/19 §3.1, Stage 0).
2224
+ *
2225
+ * `commitWorkingTree` compares path sets, so a move arrives as a removal plus an
2226
+ * unrelated-looking addition — which the reducer then sees as a delete racing an edit,
2227
+ * plus a create with no merge base. Recovering the move here is what makes Stage 1's
2228
+ * commutativity reachable from actual usage.
2229
+ *
2230
+ * Two tiers, both deterministic and language-blind:
2231
+ *
2232
+ * 1. EXACT content match. Content is hashed, so this is an O(n) bucket join and a pure
2233
+ * relocation — the common case, and the whole of the binary case — never pays for a
2234
+ * line diff at all.
2235
+ * 2. LINE SIMILARITY `2·LCS / (linesP + linesQ)` over the leftovers, using merge3's own
2236
+ * LCS. Binary content (a NUL byte) is excluded: a line diff over bytes is noise, so
2237
+ * binary is exact-match-only.
2238
+ *
2239
+ * A pair is only accepted when it is UNAMBIGUOUS in both directions — one candidate for
2240
+ * the source and one for the destination. Anything else stays a delete + create rather
2241
+ * than a guess: naming the wrong file as "the same file" invents history, and a wrong
2242
+ * merge base is worse than no merge base. That is also why there is no tie-breaking to
2243
+ * get wrong; ambiguity is not resolved, it is declined.
2244
+ */
2245
+ #detectRenames(removed, added, before, after) {
2246
+ if (!removed.length || !added.length)
2247
+ return [];
2248
+ const sources = [...removed].sort();
2249
+ const destinations = [...added].sort();
2250
+ /** Accept only pairs that are the single candidate on BOTH sides. */
2251
+ const unambiguous = (links) => {
2252
+ const inverse = new Map();
2253
+ for (const [from, tos] of links)
2254
+ for (const to of tos)
2255
+ (inverse.get(to) ?? inverse.set(to, new Set()).get(to)).add(from);
2256
+ const out = [];
2257
+ for (const from of [...links.keys()].sort()) {
2258
+ const tos = links.get(from);
2259
+ if (tos.size !== 1)
2260
+ continue;
2261
+ const to = [...tos][0];
2262
+ if (inverse.get(to).size !== 1)
2263
+ continue;
2264
+ out.push({ from, to });
2265
+ }
2266
+ return out;
2267
+ };
2268
+ // ── Tier 1: exact content ──
2269
+ const byContent = new Map();
2270
+ for (const to of destinations) {
2271
+ const h = sha256hex(after.get(to));
2272
+ (byContent.get(h) ?? byContent.set(h, []).get(h)).push(to);
2273
+ }
2274
+ const exact = new Map();
2275
+ for (const from of sources) {
2276
+ const hits = byContent.get(sha256hex(before.get(from)));
2277
+ if (hits)
2278
+ exact.set(from, new Set(hits));
2279
+ }
2280
+ const pairs = unambiguous(exact);
2281
+ // ── Tier 2: line similarity over what tier 1 left ──
2282
+ const takenFrom = new Set(pairs.map((p) => p.from));
2283
+ const takenTo = new Set(pairs.map((p) => p.to));
2284
+ const similar = new Map();
2285
+ const linesCache = new Map();
2286
+ const linesOf = (path, buf) => {
2287
+ if (!linesCache.has(path))
2288
+ linesCache.set(path, isBinary(buf) ? null : buf.toString("utf8").split("\n"));
2289
+ return linesCache.get(path);
2290
+ };
2291
+ for (const from of sources) {
2292
+ if (takenFrom.has(from))
2293
+ continue;
2294
+ const fromLines = linesOf(`-${from}`, before.get(from));
2295
+ if (!fromLines)
2296
+ continue; // binary: exact match only (rule 4)
2297
+ for (const to of destinations) {
2298
+ if (takenTo.has(to))
2299
+ continue;
2300
+ const toLines = linesOf(`+${to}`, after.get(to));
2301
+ if (!toLines)
2302
+ continue;
2303
+ const n = fromLines.length;
2304
+ const m = toLines.length;
2305
+ // Sound pre-filter (docs/19 R4): LCS ≤ min(n, m), so this is an upper bound on the
2306
+ // similarity and can never skip a pair that would have passed. It keeps a large
2307
+ // relocation from running an O(n·m) line DP against every unrelated candidate.
2308
+ if ((2 * Math.min(n, m)) / (n + m) < _a.RENAME_SIMILARITY)
2309
+ continue;
2310
+ if ((2 * lcsLineLength(fromLines, toLines)) / (n + m) < _a.RENAME_SIMILARITY)
2311
+ continue;
2312
+ (similar.get(from) ?? similar.set(from, new Set()).get(from)).add(to);
2313
+ }
2314
+ }
2315
+ return [...pairs, ...unambiguous(similar)].sort((a, b) => (a.from < b.from ? -1 : a.from > b.from ? 1 : 0));
2316
+ }
2169
2317
  /**
2170
2318
  * Commit a working tree: diff `workDir`'s files against the materialized view and
2171
- * author put_file / delete_file ops for the changes (the git `add`+`commit` step,
2172
- * which agents do via operation.propose). Causally builds on the current frontier.
2319
+ * author edit_file / put_file / delete_file ops for the changes (the git `add`+`commit`
2320
+ * step, which agents do via operation.propose). Causally builds on the current frontier.
2321
+ *
2322
+ * A MODIFIED file is captured as `edit_file` with the previously projected content as its
2323
+ * 3-way merge base — that base is already in hand here, and blobs are content-addressed so
2324
+ * re-putting it is free (dedup). This is what lets two sessions editing disjoint regions of
2325
+ * one file auto-merge (L1) instead of colliding as two base-less `put_file`s (docs/15 §3).
2326
+ * ADDED files keep `put_file` (a create genuinely has no base), and so does any content that
2327
+ * is not losslessly UTF-8 text (see `#isMergeableText`).
2328
+ *
2329
+ * A MOVED file is recovered from the removed × added pair (`#detectRenames`, docs/19 §3.1)
2330
+ * and captured as `rename_file` — plus an `edit_file` at the NEW path, based on the content
2331
+ * from BEFORE the move, when it was edited on the way. Without this the reducer's whole
2332
+ * rename × edit commutativity is unreachable from real usage: a path-set diff turns every
2333
+ * move into a delete racing an edit and a create with nothing to merge against. Recovered
2334
+ * moves are reported in `renamed` and are NOT double-counted in `added`/`removed`.
2335
+ *
2336
+ * Capture also runs the early conflict warning with CROSS-LINE visibility: the git bridge
2337
+ * maps each branch to its own line, so a competing session is on a *different* line and a
2338
+ * line-scoped check would never see it. The warnings are returned (`contention`) so the CLI
2339
+ * can put them in front of the human running `git commit`.
2173
2340
  */
2174
2341
  async commitWorkingTree(workDir, opts) {
2175
2342
  const view = opts.line ?? "main";
2176
2343
  const res = await this.materialize(view);
2177
2344
  const current = new Map((await this.materializedBytes(res)).map((f) => [f.path, f.bytes]));
2178
2345
  const disk = await this.#readWorkTree(workDir, opts.ignorePredicate);
2179
- const added = [];
2346
+ let added = [];
2180
2347
  const modified = [];
2181
- const removed = [];
2348
+ let removed = [];
2182
2349
  for (const [path, content] of disk) {
2183
2350
  if (!current.has(path))
2184
2351
  added.push(path);
@@ -2188,19 +2355,72 @@ export class Repo {
2188
2355
  for (const path of current.keys())
2189
2356
  if (!disk.has(path))
2190
2357
  removed.push(path);
2358
+ // Recover moves before deciding op kinds: a paired path is a move, not an unrelated
2359
+ // delete + create, and must not be counted as both.
2360
+ const renamed = this.#detectRenames(removed, added, current, disk);
2361
+ if (renamed.length) {
2362
+ const movedFrom = new Set(renamed.map((r) => r.from));
2363
+ const movedTo = new Set(renamed.map((r) => r.to));
2364
+ removed = removed.filter((p) => !movedFrom.has(p));
2365
+ added = added.filter((p) => !movedTo.has(p));
2366
+ }
2191
2367
  const ops = [];
2192
- if (!added.length && !modified.length && !removed.length)
2193
- return { ops, added, modified, removed, intent: "" };
2368
+ const contention = [];
2369
+ if (!added.length && !modified.length && !removed.length && !renamed.length)
2370
+ return { ops, added, modified, removed, renamed, intent: "", contention };
2194
2371
  const intent = await this.createIntent({ title: opts.message, owner: opts.actor.id });
2195
2372
  const sess = await this.startSession({ intentOid: intent, actor: opts.actor });
2196
2373
  const deps = res.headOps;
2374
+ // Collect the early warnings each propose raises, de-duplicated per entity key.
2375
+ const seenKeys = new Set();
2376
+ const collect = (warnings) => {
2377
+ for (const w of warnings) {
2378
+ if (seenKeys.has(w.key))
2379
+ continue;
2380
+ seenKeys.add(w.key);
2381
+ contention.push(w);
2382
+ }
2383
+ };
2384
+ const warn = { warnContention: true, contentionAcrossLines: true, onContention: collect };
2385
+ // Moves first, sorted by source. The paired `edit_file` must causally FOLLOW its own
2386
+ // rename: it names the destination path, so if the two were concurrent the reducer would
2387
+ // read them as a move and an unrelated edit fighting over that path (docs/19 §3.2 leaves
2388
+ // rename-vs-destination a genuine contest, and rightly so). Depending on the rename also
2389
+ // states the truth — the author moved the file, then wrote to where it now lives.
2390
+ for (const { from, to } of renamed) {
2391
+ const rn = await this.proposeOperation({
2392
+ sessionOid: sess, intentOid: intent, actor: opts.actor,
2393
+ target: { entityKind: "file", entityId: from },
2394
+ body: { kind: "rename_file", fromPath: from, path: to },
2395
+ declaredPurpose: `move ${from} → ${to}`, causalDeps: deps, line: opts.line, ...warn,
2396
+ });
2397
+ ops.push(rn);
2398
+ const base = current.get(from);
2399
+ const content = disk.get(to);
2400
+ if (base.equals(content))
2401
+ continue; // a pure move needs no second op
2402
+ // Content changed on the way. Only mergeable text can say so as an edit; otherwise the
2403
+ // move stands and the new bytes go in byte-exact as a `put_file` at the new path.
2404
+ const common = { sessionOid: sess, intentOid: intent, actor: opts.actor, path: to, declaredPurpose: opts.message, causalDeps: [...deps, rn], line: opts.line, ...warn };
2405
+ ops.push(this.#isMergeableText(base) && this.#isMergeableText(content)
2406
+ ? await this.proposeEdit({ ...common, newText: content.toString("utf8"), baseBlobOid: await this.putBlob(base) })
2407
+ : await this.proposeFileWrite({ ...common, content }));
2408
+ }
2409
+ const isModified = new Set(modified);
2410
+ // One sorted pass over both categories keeps op authoring order (and therefore lamport
2411
+ // assignment) exactly as before; only the op KIND differs per category.
2197
2412
  for (const path of [...added, ...modified].sort()) {
2198
- ops.push(await this.proposeFileWrite({ sessionOid: sess, intentOid: intent, actor: opts.actor, path, content: disk.get(path), declaredPurpose: opts.message, causalDeps: deps, line: opts.line }));
2413
+ const content = disk.get(path);
2414
+ const base = isModified.has(path) ? current.get(path) : undefined;
2415
+ const common = { sessionOid: sess, intentOid: intent, actor: opts.actor, path, declaredPurpose: opts.message, causalDeps: deps, line: opts.line, ...warn };
2416
+ ops.push(base !== undefined && this.#isMergeableText(base) && this.#isMergeableText(content)
2417
+ ? await this.proposeEdit({ ...common, newText: content.toString("utf8"), baseBlobOid: await this.putBlob(base) })
2418
+ : await this.proposeFileWrite({ ...common, content }));
2199
2419
  }
2200
2420
  for (const path of removed.sort()) {
2201
- ops.push(await this.proposeOperation({ sessionOid: sess, intentOid: intent, actor: opts.actor, target: { entityKind: "file", entityId: path }, body: { kind: "delete_file", path }, declaredPurpose: `delete ${path}`, causalDeps: deps, line: opts.line }));
2421
+ ops.push(await this.proposeOperation({ sessionOid: sess, intentOid: intent, actor: opts.actor, target: { entityKind: "file", entityId: path }, body: { kind: "delete_file", path }, declaredPurpose: `delete ${path}`, causalDeps: deps, line: opts.line, ...warn }));
2202
2422
  }
2203
- return { ops, added: added.sort(), modified: modified.sort(), removed: removed.sort(), intent };
2423
+ return { ops, added: added.sort(), modified: modified.sort(), removed: removed.sort(), renamed, intent, contention };
2204
2424
  }
2205
2425
  // ── git bridge (docs/14) ───────────────────────────────────────────────────
2206
2426
  /** Read `.avcs/config.json` (a torn/absent file is treated as empty). */
@@ -2355,19 +2575,19 @@ export class Repo {
2355
2575
  const lineOpt = opts.line ? { line: opts.line } : {};
2356
2576
  // 1. Capture direct working-tree edits as ops before anything else.
2357
2577
  const cap = await this.commitWorkingTree(workDir, { message: opts.message, actor: opts.actor, ...lineOpt, ...(opts.ignorePredicate ? { ignorePredicate: opts.ignorePredicate } : {}) });
2358
- const captured = { ops: cap.ops, added: cap.added, modified: cap.modified, removed: cap.removed, intent: cap.intent };
2578
+ const captured = { ops: cap.ops, added: cap.added, modified: cap.modified, removed: cap.removed, renamed: cap.renamed, intent: cap.intent };
2359
2579
  // Ensure the gitignore reflects the current mode (pre-existing repos never wrote one).
2360
2580
  const mode = await this.getGitMode();
2361
2581
  await this.#writeGitignore(mode);
2362
2582
  // 2. Conflict gate.
2363
2583
  const res = await this.materialize(view);
2364
2584
  if (res.conflicts.length > 0)
2365
- return { mode, captured, conflicts: res.conflicts };
2585
+ return { mode, captured, contention: cap.contention, conflicts: res.conflicts };
2366
2586
  // 3. Checkpoint the verified state. 4. Re-project the working tree.
2367
2587
  const checkpoint = await this.createCheckpoint(view, opts.message);
2368
2588
  const written = await this.checkoutInto(workDir, view);
2369
2589
  this.logger.info("git.sync", { view, mode, capturedOps: captured.ops.length, checkpoint, treeHash: res.treeHash });
2370
- return { mode, captured, conflicts: [], checkpoint, treeHash: res.treeHash, reprojected: written.length };
2590
+ return { mode, captured, contention: cap.contention, conflicts: [], checkpoint, treeHash: res.treeHash, reprojected: written.length };
2371
2591
  }
2372
2592
  // ── backup / transfer (docs/10 WS-F) ──────────────────────────────────────
2373
2593
  /** Export the whole repo (all objects + refs) as a portable bundle for backup/transfer. */