vibe.review.progress

Base progress class for long-running operations.

All progress updates in the review system inherit from BaseProgress, providing consistent serialization and a unified interface for SSE streaming.

Progress is reported via iterators that yield progress updates interleaved with results. Callers use isinstance() to distinguish progress from results:

for item in backend.iter_operation():
    if isinstance(item, SomeProgress):
        handle_progress(item)
    else:
        handle_result(item)

BaseProgress

Base class for all progress updates.

Provides common fields and serialization methods used across all long-running operations (batch classification, embedding, OCR, DOCX conversion).

Subclasses add operation-specific fields and override to_dict() to include them.

to_dict

to_dict() -> dict[str, Any]

Convert to dictionary for JSON serialization.

to_json

to_json() -> str

Serialize to JSON string for SSE streaming.