7d9cf99f6c
Brings the git-sync epic up to current develop (79 commits) so it can land — prerequisite for the #293 converter unification, which restructures git-sync. Conflict resolutions: - translation.json (en+ru): union of #119's git-sync keys and develop's agent keys; restored a ru-RU key develop had dropped so en/ru stay in parity. - history-item.tsx: keep develop's AgentAvatarStack (the #300/#319/#320 avatar rework) AND #119's GitSyncBadge provenance branch; drop the superseded AiAgentBadge (and its now-unused component/test). Test updated to match. - collaboration.handler.ts: keep #119's flushPendingStore (QA #119 pre-merge flush) AND develop's generic withYdocConnection<T> (the #315 closure-capture version) — git-sync callers pass sync void fns which <T=void> handles. - comment.ts (editor-ext): take develop's isNodeRuntime SSR guard; it subsumes #119's isInteractiveBrowser/GS-EXPORT-500 fix (any Node render → static spec). Build policy: honor #119's approved design — packages/{mcp,git-sync}/build are gitignored and built in CI/Docker (Dockerfile pnpm build + COPY both), so develop's committed build/ copies are removed from the index (no more src/build drift). NOTE: after this merges, rebuild git-sync in any working checkout. Verified: editor-ext 249/249, collaboration jest 204/204, page-history 13/13, schema-attribute-contract + converter-gate 32/32; editor-ext/mcp/git-sync tsc clean. The two residual apps/server tsc lines are the worktree node_modules symlink resolving @docmost/git-sync to a stale sibling checkout, not a merge defect (jest green). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>