Skip to content

[Phase 3] Review & Commit View - Diff Viewer & Git Actions #334

Description

@frankbria

Overview

Implement the Review & Commit View for inspecting changes and committing to git with confidence.

Reference: docs/PHASE_3_UI_ARCHITECTURE.md Section 1.6, 3.6

Purpose

Inspect changes and commit to git with confidence.

User Actions

  • View unified diff of all changes
  • Run quality checks (lint, tests)
  • Export patch file
  • Commit with generated message
  • Create GitHub PR

Components

ReviewCommitView
├── ReviewHeader
│   ├── ChangeSummary (X files changed, Y insertions, Z deletions)
│   └── QualityGateResults
│       ├── GateBadge (ruff: passed/failed)
│       └── GateBadge (pytest: X/Y passed)
├── FileTreePanel (left sidebar, 25% width)
│   └── FileTree (changed files, click to view diff)
├── DiffViewer (main content, 75% width)
│   ├── UnifiedDiff (syntax highlighted)
│   └── DiffNavigation (prev/next file)
└── CommitPanel (bottom or right)
    ├── CommitMessageSuggestion (AI-generated, editable)
    ├── CommitButton
    └── PRCreationToggle
        └── PRForm (title, description)

API Endpoints Used

  • GET /api/v2/review/diff - Get unified diff
  • POST /api/v2/gates/run - Run quality gates
  • GET /api/v2/review/patch - Export patch file
  • POST /api/v2/git/commit - Create commit
  • POST /api/v2/pr/create - Create GitHub PR

Acceptance Criteria

  • File tree showing changed files
  • Click file to view diff in main panel
  • Syntax-highlighted unified diff viewer
  • Previous/next file navigation
  • Change summary (files, insertions, deletions)
  • Quality gate badges (ruff, pytest)
  • Run gates button to re-check
  • Export patch modal with copy button
  • AI-generated commit message (editable)
  • Commit button creates git commit
  • PR creation toggle with form (title, description)
  • Success modal with PR URL after creation

Route

/review

Real-time Requirements

None - static view, refresh after actions

Metadata

Metadata

Assignees

Labels

phase-3Phase 3: Web UI Rebuild

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions