Apply reviewer suggestions across files as one atomic mobile fix #1386

Closed
opened 2026-08-25 07:53:42 +00:00 by timmy · 0 comments
Owner

Problem

The authored-pull feedback flow can batch multiple reviewer suggestions only when they touch one file. Staging a second path is refused, even though implementation and test suggestions commonly belong in one coherent fix. This forces multiple commits and repeated head refreshes.

Evidence

  • frontend/pull-sheet.js rejects a staged suggestion from another path and submits only the first staged file.
  • src/main.py models one batch file.
  • src/gitea_proxy.py delegates batching to the single-file contents update.
  • Existing rollback preparation already uses Gitea's atomic multi-file contents mutation.
  • Full historical issue-title/body and recent commit/release audit found only #1376 (single-file edit), #1382 (one suggestion), and #1384 (same-file batch), not cross-file batching.

Acceptance criteria

  • Stage 2–8 non-overlapping suggestions across multiple bounded UTF-8 files from one authored, open, same-repository PR head.
  • Review a mobile-friendly manifest grouped by path and commit all staged files with one atomic Gitea mutation.
  • Validate unique safe paths, per-file blob SHAs, file and aggregate bounds, and the exact expected PR head before mutation.
  • Reject stale head/blob state without advancing the branch or partially changing files.
  • Report success only after verifying one new pull head and every submitted file's content.
  • Preserve the staged batch on uncertain/error outcomes.
  • At 320px, the grouped manifest has no document-level horizontal overflow and all actions remain touch-safe.
  • Add behavioral API and rendered mobile tests; run the complete suite.
## Problem The authored-pull feedback flow can batch multiple reviewer suggestions only when they touch one file. Staging a second path is refused, even though implementation and test suggestions commonly belong in one coherent fix. This forces multiple commits and repeated head refreshes. ## Evidence - `frontend/pull-sheet.js` rejects a staged suggestion from another path and submits only the first staged file. - `src/main.py` models one batch file. - `src/gitea_proxy.py` delegates batching to the single-file contents update. - Existing rollback preparation already uses Gitea's atomic multi-file contents mutation. - Full historical issue-title/body and recent commit/release audit found only #1376 (single-file edit), #1382 (one suggestion), and #1384 (same-file batch), not cross-file batching. ## Acceptance criteria - Stage 2–8 non-overlapping suggestions across multiple bounded UTF-8 files from one authored, open, same-repository PR head. - Review a mobile-friendly manifest grouped by path and commit all staged files with one atomic Gitea mutation. - Validate unique safe paths, per-file blob SHAs, file and aggregate bounds, and the exact expected PR head before mutation. - Reject stale head/blob state without advancing the branch or partially changing files. - Report success only after verifying one new pull head and every submitted file's content. - Preserve the staged batch on uncertain/error outcomes. - At 320px, the grouped manifest has no document-level horizontal overflow and all actions remain touch-safe. - Add behavioral API and rendered mobile tests; run the complete suite.
timmy self-assigned this 2026-08-25 07:53:42 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1386
No description provided.