Repository navigation
feat(merge_requests): submit pending reviews with summary and outcome - #621
Conversation
Confirm reviewer state before and after publication, and require complete inspection and renewed consent after partial or obsolete outcomes. Signed-off-by: sjungwon03 <sjungwon03@gmail.com>
sjungwon03-ai
left a comment
There was a problem hiding this comment.
Review of commit 555f9dc: No blocking findings remain in this commit. Reviewed the source diff, generated reviewer model, translations, updated test fixtures, flow documentation and all twelve synthetic captures against the official GitLab contracts.
Verified one exact public-summary/outcome bulk request with strict 204 handling, integer wire identities before generated coercion, outer review state separated from nested account status, complete reviewer pagination, fresh private/reviewer preflight comparisons and postwrite current-user outcome verification. Plain publication retains its bodyless command and unavailable reviewer reads keep notes/summary publication available. Reviewed is distinct from formal approval; request-changes effects are disclosed and existing approved state cannot be silently replaced by reviewed.
Checked the shared settlement/reservation/uncertainty flow: a state-bearing attempt requires complete private/public/reviewer inspection even through selected-note recovery, partial reads do not clear the gate, obsolete sessions discard input/results and another submission requires renewed consent. The unavailable-preflight UI selection and fractional-ID coercion findings were reproduced first and fixed before this head. Existing selected-note semantics remain covered.
Local validation: 947 formatted Dart files with zero outstanding changes, clean workspace analysis, 7,107 tests across all five packages (111 new), generated model/localization output, five locales and three widths in both themes, 1.8 text scale with keyboard constraints. CI remains a separate merge gate. Paginated preflight/postwrite observation is not atomic or exactly once, recovery is in memory, server assignment/permissions/edition behavior is authoritative, and no live-instance/device validation is claimed.
Summary
Whole pending MR review publication now offers an optional public summary and explicit reviewed/request-changes outcomes. Summary Markdown stays exact, option changes reset consent, and summary-only or outcome-only submissions work without private drafts. Current reviewer state is read separately from account status; unavailable state reads preserve ordinary notes/summary publication.
A fresh complete reviewer comparison joins the existing private-note preflight before one bulk request. Requested state is verified after publication because GitLab can apply notes, summary and reviewer state separately. Uncertain/obsolete outcomes require actual write settlement and complete private/public/reviewer inspection, including selected-note recovery entry, then new consent. Disabled outcomes are cleared on a new preview. Reviewed remains distinct from formal approval; requesting changes can revoke an existing approval and block merging.
Closes #620
Validation
dart format .: 947 files, zero outstanding changesflutter analyze: no issuesChecklist
dev, Conventional Commit and DCOScreenshots
All twelve synthetic captures
Notes for reviewers
Uses documented bulk publication options and reviewer reads. The primary API can publish drafts before a later summary failure and does not check reviewer-state service results before 204. Postwrite state confirmation and shared three-part recovery handle those limits; no authentication replay, redirect, fallback or automatic retry is introduced. Reviewer wire IDs are validated before generated numeric coercion.
Public summaries explicitly send
internal: false; this slice has no internal-summary control or new formal-approval/merge command. Reviewer assignment, permissions and edition capabilities remain server-authoritative. Preflight/postwrite reads are not atomic or exactly-once guarantees, recovery is in memory, and no live-instance/device validation is claimed. Private reply/commit/image/file creation remains separate; MW-07 stays in progress.