## Why This PR Exists
PR #618 ("Honor global reasoning defaults") merged first, but the
original working branch still had a set of review-driven follow-up fixes
that landed after the squash merge. Those fixes never reached `main`.
This PR ports that missing follow-up series onto current `main` without
dragging the old pre-merge branch history forward.
## Motivation
The merge of #618 fixed the top-level global reasoning default issue,
but it left a set of related edge cases and regressions unresolved:
- malformed global and repo config could still be surfaced too late or
in the wrong places
- explicit reasoning handling could still interact incorrectly with
repo-config validation
- background fix jobs and reruns could resolve config from stale or
invalid worktree paths
- CI review fallback had been widened too far and could mask unexpected
config-load failures instead of only malformed config
The net effect was that reasoning/config behavior was still inconsistent
across refine, enqueue, fix, rerun, batch, backup-resolution, and CI
paths.
## What This Changes
- validates repo config at the intended CLI and daemon entrypoints
instead of letting explicit reasoning or shared workflow resolution
bypass those errors
- preserves explicit reasoning overrides while still surfacing invalid
repo/global config when that config must be consulted
- makes background fix jobs honor the active fix reasoning/model config
- keeps batch, CI, and backup-resolution behavior consistent when repo
config is malformed
- validates fix-job worktree paths before using them for config
resolution
- clears stale worktree metadata so reruns do not reintroduce invalid
config resolution later
- narrows CI fallback so only malformed repo config falls back to
global/default settings; unexpected config-load failures still fail fast
- carries the Windows test cleanup needed for the enqueue reasoning test
## Testing
- `go test ./...`
- `go vet ./...`
## Context
This is a direct follow-up to #618, created because the refined fixes
were still on the original branch after #618 had already merged.
Summary
Testing