feat(mcp): paths filter for get_task_diff, subset hint for preview_merge_set

get_task_diff gained an optional paths param (git pathspec, both stat and
full-diff modes) so a large multi-file task can be narrowed to the files
actually in question instead of shipping the whole diff.

preview_merge_set now also reports Subsets: pairs where one task's changed
files are a proper subset of another's in the same set, the strongest
available post-hoc signal that a task may be redundant with another.
This commit is contained in:
mika kuns
2026-08-10 13:39:55 +02:00
parent 6a2a19cc9e
commit c715c96af9
6 changed files with 174 additions and 30 deletions
@@ -147,7 +147,7 @@ public sealed class WorktreeManager
await _git.CommitAsync(ctx.WorktreePath, message, ct);
var head = await _git.RevParseHeadAsync(ctx.WorktreePath, ct);
var diffStat = await _git.DiffStatAsync(ctx.WorktreePath, ctx.BaseCommit, head, ct);
var diffStat = await _git.DiffStatAsync(ctx.WorktreePath, ctx.BaseCommit, head, ct: ct);
using var context = _dbFactory.CreateDbContext();
var wtRepo = new WorktreeRepository(context);