🐛 fix(sync): _spawnFn mock overrides TMB_DISABLE_REMOTE_SYNC env
Resolves GL !2922 (local #35 (closed)).
Tests of the sync feature MUST mock spawn (per feedback_issue_sync_posture doctrine), not env-disable. The implementation previously respected the env over the explicit mock, short-circuiting any test that wanted to verify the success path of remote sync.
Fix: resolveBackend(syncConfig, hasSpawnFn=false). When hasSpawnFn=true (mock passed), env check is bypassed. Production path unchanged (env still wins when no mock).
Tests: 2 new L2 micro-tests in src/test/sync-backend.test.ts — mock-wins-when-env=1 and env-wins-when-no-mock.
Verification: bash tests/run-all.sh exits 0 on this branch. The previously-failing issue_create with successful sync bumps updated_at (regression: Bug 2) now passes.
pr-reviewer verdict: PASS (validation_attempts id=18).