Surfaced in docs/kit-friction-log.md (2026-07-26 and 2026-07-27) and graduated by the triage-friction-log sweep. Severity: H. 9 of 9 across two sessions.
Every review-lens launch landed on main with an empty git diff main...HEAD instead of the PR head:
- 4 of 4 last session (2 lenses × 2 rounds)
- 5 of 5 this session (2 lenses × 2 rounds on
#65, plus 1 on #68)
Every single lens detected it and cloned the real target itself — because the launch prompt required them to report the path and diff stat they saw. Contract item 7 says to verify; what actually surfaced it was making the report mandatory output.
Proposed fix
- Contract item 7 should stop saying "verify" and start saying "assume the worktree is wrong; clone the target yourself first". At 9 of 9 this is no longer a caveat, it is the default behaviour.
- Promote "state the path reviewed and the diff stat" from advice to a required field of the lens report, and say plainly that a lens which cannot show a non-empty diff has not reviewed anything. A clean pass over an empty diff is indistinguishable from a real one.
Surfaced in
docs/kit-friction-log.md(2026-07-26 and 2026-07-27) and graduated by thetriage-friction-logsweep. Severity: H. 9 of 9 across two sessions.Every review-lens launch landed on
mainwith an emptygit diff main...HEADinstead of the PR head:#65, plus 1 on#68)Every single lens detected it and cloned the real target itself — because the launch prompt required them to report the path and diff stat they saw. Contract item 7 says to verify; what actually surfaced it was making the report mandatory output.
Proposed fix