fix(prd-7): M2 error handling review — fix process.exit bypasses, TOCTOU gap, URL consistency

- F1: Replace process.exit(1) with throw in branch.ts (cleanup was bypassed)
- F2: Replace process.exit(1) with throw in install-mcp-server.ts (same issue)
- F2b: Replace process.exit(1) with throw in create-prompt/index.ts (same issue)
- F3: Use getServerUrl() instead of GITHUB_SERVER_URL constant in branch-cleanup.ts
- F4: Use updated_at for review TOCTOU filtering in Forgejo data fetcher
- Accepted notes: no pagination >100, no retry, unconditional trigger, image no-op

Progress: 33% complete — M2 done, M3 (security review) next

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Vlad MocanuandClaude Opus 4.6 committed 2026-02-26 12:16:22 +02:00
1 parent ac58fb6c14
commit cefc229199
6 files changed
+11 -12

No files matched your search

+2 -1
View File
@@ -129,6 +129,7 @@ export function mapRestReviews(
user?: { login?: string } | null;
state: string;
submitted_at?: string;
updated_at?: string;
}>,
inlineComments: (GitHubReviewComment & { reviewId: number | null })[],
): GitHubReview[] {
@@ -151,7 +152,7 @@ export function mapRestReviews(
body: r.body ?? "",
state: r.state.toUpperCase(), // Normalize to uppercase for consistency
submittedAt: r.submitted_at ?? new Date().toISOString(),
updatedAt: r.submitted_at, // Forgejo has no separate updatedAt for reviews
updatedAt: r.updated_at ?? r.submitted_at, // Use updated_at for TOCTOU filtering if available
lastEditedAt: undefined,
comments: {
nodes: commentsByReview.get(r.id) ?? [],