Files
OCR/openspec/changes/dual-track-document-processing/specs/task-management/spec.md
egg cd3cbea49d chore: project cleanup and prepare for dual-track processing refactor
- Removed all test files and directories
- Deleted outdated documentation (will be rewritten)
- Cleaned up temporary files, logs, and uploads
- Archived 5 completed OpenSpec proposals
- Created new dual-track-document-processing proposal with complete OpenSpec structure
  - Dual-track architecture: OCR track (PaddleOCR) + Direct track (PyMuPDF)
  - UnifiedDocument model for consistent output
  - Support for structure-preserving translation
- Updated .gitignore to prevent future test/temp files

This is a major cleanup preparing for the complete refactoring of the document processing pipeline.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-18 20:02:31 +08:00

4.9 KiB

Task Management Spec Delta

MODIFIED Requirements

Requirement: Task Result Generation

The OCR service SHALL generate both JSON and Markdown result files for completed tasks with actual content, including processing track information and enhanced structure data.

Scenario: Markdown file contains OCR results

  • WHEN a task completes OCR processing successfully
  • THEN the generated .md file SHALL contain the extracted text in markdown format
  • AND the file size SHALL be greater than 0 bytes
  • AND the markdown SHALL include headings, paragraphs, and formatting based on OCR layout detection

Scenario: Result files stored in task directory

  • WHEN OCR processing completes for task ID 88c6c2d2-37e1-48fd-a50f-406142987bdf
  • THEN result files SHALL be stored in storage/results/88c6c2d2-37e1-48fd-a50f-406142987bdf/
  • AND both <filename>_result.json and <filename>_result.md SHALL exist
  • AND both files SHALL contain valid OCR output data

Scenario: Include processing track in results

  • WHEN a task completes through dual-track processing
  • THEN the JSON result SHALL include "processing_track" field
  • AND SHALL indicate whether "ocr" or "direct" track was used
  • AND SHALL include track-specific metadata (confidence for OCR, extraction quality for direct)

Scenario: Store UnifiedDocument format

  • WHEN processing completes through either track
  • THEN system SHALL save results in UnifiedDocument format
  • AND maintain backward-compatible JSON structure
  • AND include enhanced structure from PP-StructureV3 or PyMuPDF

Requirement: Task Detail View

The frontend SHALL provide a dedicated page for viewing individual task details with processing track information and enhanced preview capabilities.

Scenario: Navigate to task detail page

  • WHEN user clicks "View Details" button on task in Task History page
  • THEN browser SHALL navigate to /tasks/{task_id}
  • AND TaskDetailPage component SHALL render

Scenario: Display task information

  • WHEN TaskDetailPage loads for a valid task ID
  • THEN page SHALL display task metadata (filename, status, processing time, confidence)
  • AND page SHALL show markdown preview of OCR results
  • AND page SHALL provide download buttons for JSON, Markdown, and PDF formats

Scenario: Download from task detail page

  • WHEN user clicks download button for a specific format
  • THEN browser SHALL download the file using /api/v2/tasks/{task_id}/download/{format} endpoint
  • AND downloaded file SHALL contain the task's OCR results in requested format

Scenario: Display processing track information

  • WHEN viewing task processed through dual-track system
  • THEN page SHALL display processing track used (OCR or Direct)
  • AND show track-specific metrics (OCR confidence or extraction quality)
  • AND provide option to reprocess with alternate track if applicable

Scenario: Preview document structure

  • WHEN user enables structure view
  • THEN page SHALL display document element hierarchy
  • AND show bounding boxes overlay on preview
  • AND highlight different element types (headers, tables, lists) with distinct colors

ADDED Requirements

Requirement: Processing Track Management

The task management system SHALL track and display processing track information for all tasks.

Scenario: Track processing route selection

  • WHEN a task begins processing
  • THEN system SHALL record the selected processing track
  • AND log the reason for track selection
  • AND store auto-detection confidence score

Scenario: Allow track override

  • WHEN user views a completed task
  • THEN system SHALL offer option to reprocess with different track
  • AND maintain both results for comparison
  • AND track which result user prefers

Scenario: Display processing metrics

  • WHEN task completes processing
  • THEN system SHALL record track-specific metrics
  • AND OCR track SHALL show confidence scores and character count
  • AND Direct track SHALL show extraction coverage and structure quality

Requirement: Task Processing History

The system SHALL maintain detailed processing history for tasks including track changes and reprocessing.

Scenario: Record reprocessing attempts

  • WHEN a task is reprocessed with different track
  • THEN system SHALL maintain processing history
  • AND store results from each attempt
  • AND allow comparison between different processing attempts

Scenario: Track quality improvements

  • WHEN viewing task history
  • THEN system SHALL show quality metrics over time
  • AND indicate if reprocessing improved results
  • AND suggest optimal track based on document characteristics

Scenario: Export processing analytics

  • WHEN exporting task data
  • THEN system SHALL include processing history
  • AND provide track selection statistics
  • AND include performance metrics for each processing attempt