🐛 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).

Merge request reports

Loading