A workspace Code Review runs the review step once per SUB-REPOSITORY worktree.
`executeWorkflowStep` captured the reviewer's scope with the singular
`task.baseCommitSha` regardless, and that base does not resolve inside a sub-repository:
`captureModifiedFiles` returned [] and the prompt told the reviewer "(no modified files
detected for this task)".
Measured on a real multi-repo card whose executor had COMMITTED in both repositories. The
reviewer went looking, could not see the committed fixtures inside its own scope, and
reported them as never delivered — a confident, factual rejection produced entirely by a
wrong diff base. It then vanished, because prose carrying no verdict JSON is classified
malformed and passes a blocking gate. Two defects in series: one manufactured a false
rejection, the other swallowed it.
This fixes the first. The per-repo base was already recorded and already used by the
evidence capture in workspace-review-per-repo.ts; it simply never reached the reviewer.
`diffBaseCommitSha` threads it through, and a singular task with no override still uses the
task field, so the ordinary path is unchanged.
pnpm lint 0 errors, test:gate green, engine typecheck clean, pipeline-smoke 90/90.