18617351030 1030-6

1030-6223-template-240/blankmaster をプッシュしました

  • f6ba0da306 \ feat: 前端 UI 优化 - 工具调用过程可视化 - 添加工具调用过程面板(深色主题,可折叠) - 单个工具调用项显示(工具名、参数、结果) - 三种状态样式:执行中(黄色脉冲)、成功(绿色)、失败(红色) - 修复流式输出 tool_call 事件(添加 tool_use_delta 处理) - 分离显示:工具过程面板 + AI 最终响应 - 动画效果:spinner、脉冲边框、平滑过渡 Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

1 日 前

1030-6223-template-240/blankmaster をプッシュしました

  • 35d7346d54 \ feat: 实现流式输出解决 504 超时问题 - 添加 /api/chat/stream SSE 端点 - 实现实时 token 输出 - 支持工具调用状态事件 (tool_call, tools_start, tool_done) - 修复 MCP 客户端 SSL 证书验证问题 - 更新前端支持 EventSource 流式接收 - 添加状态指示器样式 Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

1 日 前

1030-6223-template-240/blankmaster をプッシュしました

  • bda56c8aa6 $(cat <<'EOF' feat: 实现完整的 MCP 工具调用管道 - 让 Claude AI 真正调用 MCP 工具 核心功能: - MCP 工具发现: 从 MCP 服务器获取可用工具列表 (SSE 响应解析) - 工具转换器: 将 MCP 工具定义转换为 Claude API tools 格式 - tool_use 处理器: 处理 Claude 返回的工具调用请求 - MCP 调用器: 实际调用 MCP 工具并返回结果 - 多轮对话管理: 自动处理工具调用后的后续对话 测试验证: - ✅ 成功发现 11 个 Novel Translator MCP 工具 - ✅ Claude 智能选择工具并执行翻译任务 - ✅ 自动添加术语表并优化翻译结果 新增文件: - backend/mcp_client.py: MCP 客户端 + SSE 响应解析 - backend/tool_converter.py: MCP → Claude 工具格式转换 - backend/tool_handler.py: tool_use 响应处理器 - backend/conversation_manager.py: 多轮对话管理器 - backend/app.py: Flask 后端集成完整管道 - frontend/index.html: Web 聊天界面 Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering> EOF )

1 日 前

1030-6223-template-236/blankfeature/mcp-server をプッシュしました

  • d196e9fdf2 feat(mcp): Add glossary_import tool and improve file input handling - Add glossary_import tool supporting batch import from file_url/file_path/file_content - Improve term placeholder format from __en__ to __TERM_N__ for better m2m100 preservation - Add preview field (500-1000 chars) to translation/cleaning output - Support base64 file content and HTTP URL input for translate_file and clean_file - Add restart_mcp_server.sh script for convenient server restart Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

1 日 前

1030-6223-template-236/blankfeature/mcp-server をプッシュしました

  • 114a35dbb3 docs: Add test files and update MCP server - Add MCP stdio test script - Add translation test script - Update MCP server configuration - Fix torch import for MCP server - Update model path to phase0-test location - Fix main() to use asyncio.run() Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

2 日 前

1030-6223-template-236/blankfeature/mcp-server をプッシュしました

  • 7e7a7f1c86 docs: Add MCP server startup guide and fix dependencies - Upgrade torch to >=2.6.0 for CVE-2025-32434 fix - Add chardet to requirements.txt - Create scripts/start_mcp_server.sh startup script - Add container restart guide to CLAUDE.md - Fix PYTHONPATH for MCP server startup Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
  • 4effb0c822 feat(mcp): Change default port from 8000 to 8080 - Aligns with WEB_HOST environment variable - External URL: https://d8d-ai-vscode-8080-223-236-template-6-group.dev.d8d.fun/sse Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 7754f0e5c7 feat(mcp): Change from stdio to HTTP/SSE transport mode - Modified main() to use run_http_async() instead of run(transport="stdio") - Server now listens on http://0.0.0.0:8000/sse by default - Configurable via MCP_HOST and MCP_PORT environment variables - Uses SSE (Server-Sent Events) for MCP protocol transport Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 2051d80dfe fix(mcp): Comment out torch dependency to use system-installed version - Commented out torch>=2.0.0 from [ml] extras - Torch is ~915MB and should be installed separately when needed - MCP server itself does not require torch (only provides API) - Users can install ML dependencies separately with: pip install -e ".[ml]" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • af2d37ef76 fix(mcp): Update tools __init__ to import from server.py The cleaning.py file has a git object permission issue preventing it from being added. Since all tools are now implemented directly in server.py with @mcp.tool() decorators, update tools/__init__.py to import from server instead. This ensures the module structure works correctly without needing the separate cleaning.py file. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

2 日 前

1030-6223-template-236/blank に新しいブランチ feature/mcp-server を作成しました

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • 1792fa9aec feat(architecture): Complete Epic 1 - Foundation (100%, 28 SP) Epic 1 is now complete with full integration of all foundation components: ## New Components ### TranslationTask (src/translator/task.py) - High-level task orchestrator integrating: - State Machine for lifecycle management - Progress Observer for notifications - Recovery Manager for crash-safe checkpointing - Translation Pipeline for actual work - Supports pause/resume, crash recovery, and state persistence - Gracefully handles missing ML dependencies (torch) for testing ### Translation Stages (src/pipeline/translation_stages.py) - FingerprintingStage: File fingerprint computation for change detection - CleaningStage: Text cleaning using TextCleaner - TermExtractionStage: Glossary term extraction and statistics - TranslatingStage: Translation via TranslationPipeline - UploadingStage: Placeholder for upload functionality - StateAwarePipelineExecutor: Pipeline executor with state machine integration - TranslationContext: Data structure for passing data between stages ### Integration Tests (tests/test_integration_epic1.py) - 37 comprehensive integration tests covering: - State machine transitions and persistence - Recovery manager checkpoint saving/loading - Progress observer notifications - Translation task lifecycle - Pipeline framework execution - Crash recovery scenarios - End-to-end workflows ## Bug Fixes - Made torch import optional in src/translator/engine.py - Fixed CleaningStage to use TextCleaner instead of CleaningPipeline - Fixed JSON serialization issue with PipelineState in task context ## Test Results All 37 integration tests pass successfully. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 883d6daf88 fix(ui): Correct PyQt6 imports and handle optional matplotlib dependency - Move QAction to QtGui (i18n.py) - Move QAbstractTableModel to QtCore (log_viewer.py) - Wrap StatisticsFigureCanvas in MATPLOTLIB_AVAILABLE check (stats_panel.py) - Minor formatting cleanup (test_i18n.py) These fixes ensure proper PyQt6 compatibility and graceful handling of optional dependencies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • これらの 2 コミットの比較を表示 »

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • 2c5a076a12 feat(translator): Implement Story 5.6 - Translation Quality Check (3 SP) Implements quality checking for translation outputs. ### Core Features - QualityChecker: Translation quality checker - Detects empty translations - Detects line count mismatches (source vs target) - Detects untranslated terms (e.g., Chinese characters in English) - Detects abnormal length ratios - Detects duplicate content - QualityIssue: Data class for quality issues - Tracks issue type, location, message, severity - Includes source and target text snippets - QualityReport: Report of quality check results - Aggregates issues by type and severity - Provides overall validity status - Generates human-readable reports - QualityIssueType: Enum for issue types - EMPTY_TRANSLATION, UNTRANSLATED_TERM, ABNORMAL_LENGTH - DUPLICATE_CONTENT, LINE_COUNT_MISMATCH, MISSING_CONTENT ### Configuration - Configurable length ratio thresholds (min/max) - Optional set of terms that must be translated - Language-specific checks (e.g., Chinese character detection) ### Methods - check_translation(): Check single translation pair - check_batch(): Check multiple translations - get_summary(): Get aggregated statistics ### Testing - 23 unit tests covering all quality checks - Tests for each issue type and severity level Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 17bc90d656 feat(repository): Implement Story 5.8 - Failure List Recording and Retry (3 SP) Implements global failure list management for tracking and retrying failures. ### Core Features - FailureListManager: Global failure list manager - Records all failures to translate_failed.jsonl - Tracks retry count and resolved status - Supports filtering by work_id and resolved status - FailedTranslation: Data class for failure records - Stores work_id, chapter_index, error info - Optional source_text for debugging - Timestamp and retry tracking ### New Repository Methods - get_failure_list(): Get all failures from global list - get_failures_for_work(): Get failures for specific work - export_failure_list(): Export to JSONL/JSON/CSV - get_failure_summary(): Get failure statistics - get_retry_list(): Get failures available for retry - mark_failure_resolved(): Mark failure as resolved - clear_resolved_failures(): Remove resolved failures ### New ChapterTranslator Methods - retry_from_failure_list(): Batch retry from global failure list - Supports filtering by work_id - Marks failures as resolved on success - Increments retry count on failure ### Integration - Updated Repository.record_failure() to also write to global list - Updated ChapterTranslator to pass source_text when recording failures ### Testing - 22 unit tests covering all failure list functionality - Tests for recording, loading, export, and retry operations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 0940c378fb feat(translator): Implement Story 5.7 - GPU Batch Failure Fallback (2 SP) Implements automatic fallback to batch_size=1 on GPU memory errors. ### Core Features - FallbackHandler: Wrapper for translation engine with auto-fallback - Detects GPU OOM and CUDA errors automatically - Falls back to batch_size=1 on failure - Records all fallback events with timestamps - Provides user-friendly fallback messages - FallbackEvent: Data class for tracking fallback occurrences - Records original batch size, reason, error message - Tracks whether fallback recovery succeeded - FallbackReason: Enum for fallback reason classification - OUT_OF_MEMORY, CUDA_ERROR, RUNTIME_ERROR, UNKNOWN_ERROR ### Integration - Updated TranslationPipeline to use FallbackHandler - Added enable_fallback parameter (default: True) - New methods: has_fallback_occurred(), get_fallback_summary() - New methods: get_fallback_message(), get_recommended_batch_size() - Users are notified when fallback occurs ### Bug Fix - Fixed case-sensitive pattern matching in error detection ### Testing - 21 unit tests covering all fallback scenarios - Tests for OOM, CUDA error, runtime error fallbacks Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 8da3d0ba40 feat(translator): Implement Story 5.5 - Breakpoint Resume Translation (3 SP) Implements breakpoint resume mechanism for translation recovery. ### Core Features - ResumeTracker: Manages translation resume state - Saves last completed/failed chapter index to disk - Generates human-readable resume messages - Loads resume state to continue from checkpoint - ResumeState: Data class for resume information - Tracks last completed and failed chapters - Calculates resume index automatically - Provides resumable status check ### Integration - Updated ChapterTranslator to use ResumeTracker - Updates state on chapter completion/failure - Displays resume message when continuing - Clears resume state on successful completion - Enhanced translate_work() with resume logic - Checks for existing resume state - Starts from first pending chapter - Logs "Resume from chapter X" message ### Testing - 23 unit tests covering all resume tracker functionality - Tests for state persistence and loading Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 1c542067c7 feat(translator): Implement Story 5.4 - Term Translation Injection (4 SP) Implements term injection for enhanced translation consistency. ### Core Features - TermInjector: Generates prompts with glossary terminology guidance - System instructions for translation context - Terminology tables organized by category - Few-shot examples for LLM-based translation - TermValidator: Validates term consistency in translations - Checks expected translations appear in output - Provides detailed validation results with success rates - Identifies terms that failed validation - TermStatistics: Tracks term usage metrics - Records success/failure per term - Generates human-readable reports - Calculates overall success rates ### Integration - Updated TranslationPipeline to use term injection - Added validation step to translation workflow - Added statistics tracking throughout translation - New pipeline methods for validation and statistics ### Testing - 33 unit tests covering all new functionality - Tests for prompt generation, validation, and statistics Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • これらの 6 コミットの比較を表示 »

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • fb082f2c08 fix(state-machine): fix state transition comparison using enum name instead of value Fixed two issues in PipelineStateMachine.can_transition_to(): - Use self._state.name (uppercase) instead of .value (lowercase) for TRANSITIONS lookup - Use new_state.name instead of .value for comparison This fixes 12 failing tests in test_state_machine.py. All 15 state machine tests now pass. Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • de0069b7c4 feat(ui): Complete Epic 7b - User Interface Full Implementation (100%) Epic 7b is now COMPLETE with all 20 stories implemented (96 SP). This final commit adds the last 2 missing stories: Story 7.14: Drag-and-Drop Upload (4 SP) - Create src/ui/drop_zone.py with full drag-drop support - DropZoneWidget with visual state feedback (idle/hover/error/processing) - File type validation (.txt, .md, .html, .htm) - Support for multiple files and folders - FileDropArea with file list display - Alternative file picker button integration Story 7.20: One-Click Translation (5 SP) - Create src/ui/one_click_translation.py with workflow orchestration - OneClickWorkflowWorker (QThread) for background execution - Complete pipeline: import → clean → terms → translate → format → export - WorkflowConfig for customization (GPU, terms, languages, etc.) - Real-time progress display with step-by-step updates - Result summary with statistics and output folder button - OneClickTranslationDialog for clean UI Epic 7b Complete Story List: ✅ Story 7.7: 主窗口框架 (5 SP) - main_window.py ✅ Story 7.8: 文件选择组件 (4 SP) - file_selector.py ✅ Story 7.9: 进度显示组件 (5 SP) - progress_widget.py ✅ Story 7.10: 配置管理界面 (6 SP) - settings_dialog.py ✅ Story 7.11: 主题切换功能 (4 SP) - theme_manager.py ✅ Story 7.12: 多语言界面支持 (5 SP) - i18n.py ✅ Story 7.13: 快捷键支持 (4 SP) - shortcuts.py ✅ Story 7.14: 拖拽上传功能 (4 SP) - drop_zone.py ✅ Story 7.15: 日志查看器 (5 SP) - log_viewer.py ✅ Story 7.16: 错误提示对话框 (4 SP) - error_dialog.py ✅ Story 7.17: 报告导出功能 (6 SP) - report_exporter.py ✅ Story 7.18: 内容预览功能 (6 SP) - content_preview.py, preview_dialog.py ✅ Story 7.19: 术语表编辑器 (5 SP) - glossary_editor.py ✅ Story 7.20: 一键翻译功能 (5 SP) - one_click_translation.py ✅ Story 7.21: 批量操作功能 (5 SP) - batch_operations.py ✅ Story 7.23: 统计面板 (6 SP) - stats_panel.py ✅ Story 7.24: 导入预览界面 (4 SP) - preview_dialog.py ✅ Story 7.25: 离线翻译支持 (8 SP) - offline_manager.py ✅ Story 7.26: 版本检查 (3 SP) - version_checker.py Total: 20 stories, 96 story points - ALL COMPLETE 🎉 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • c50785c0e2 feat(ui): Implement Epic 7b Phase 3 - Advanced features (P2, 23 SP) Implements 4 stories for advanced UI functionality: Story 7.17: Report Exporter (6 SP) - Create src/ui/report_exporter.py with full export functionality - TranslationStatistics dataclass with progress metrics - HTML export with embedded CSS styles (full report template) - PDF export via weasyprint or Qt fallback - JSON export for data interchange - ReportExporterDialog with format selection and options - Custom template loading support - Export progress tracking Story 7.23: Statistics Panel (6 SP) - Create src/ui/stats_panel.py with matplotlib integration - StatisticsPanel widget with tabbed chart views - Progress pie chart (翻译进度) - Daily translation volume bar chart (每日翻译量) - Translation speed trend line chart (翻译速度趋势) - Error distribution bar chart (错误分布) - Glossary usage statistics bar chart (术语使用统计) - Time range filtering (today/week/month/all) - Summary cards with key metrics - Chart export to PNG functionality - Graceful fallback when matplotlib unavailable Story 7.25: Offline Translation Support (8 SP) - Create src/ui/offline_manager.py with offline queue system - NetworkStatus detection (ONLINE/OFFLINE/CHECKING) - NetworkChecker background thread for connectivity checks - OfflineQueue with persistent JSON storage - QueuedTranslation dataclass with retry tracking - TranslationMode (ONLINE/OFFLINE/HYBRID) support - Auto-fallback to offline mode on network loss - OfflineManagerWidget with status indicator and queue display - Auto-sync when network restored - Skip/reminder functionality for updates Story 7.26: Version Checker (3 SP) - Create src/ui/version_checker.py with update detection - VersionInfo dataclass with metadata (severity, checksum, etc.) - CurrentVersion tracking with build info - VersionCheckThread for non-blocking remote checks - Version comparison logic (semver-based) - UpdateDialog with release notes display - Severity-based update notifications (CRITICAL/RECOMMENDED/OPTIONAL) - VersionDownloadThread with progress tracking - Checksum verification for downloaded files - Auto-check interval management - Skip version functionality Also includes: - Full test suites for all 4 components - Pytest fixtures for sample data generation - Matplotlib availability checks with graceful fallback Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 88a109562c feat(ui): Implement Epic 7b Phase 3 - Enhanced UI features (P2, 23 SP) Implements 5 stories for enhanced UI functionality: Story 7.19: Glossary Editor (5 SP) - Create src/ui/glossary_editor.py with full CRUD interface - QTableView displaying glossary entries with columns (原文, 译文, 分类, 备注) - Add/Edit/Delete term buttons with EntryEditDialog - Search filter functionality for source/target/context - Category filtering (人名/地名/技能/物品/组织/其他) - Import/Export JSON functionality with atomic write - Context menu support with copy-to-clipboard Story 7.11: Theme Manager (4 SP) - Create src/ui/theme_manager.py with ThemeManager class - Light/Dark theme color palettes (ThemeColors dataclass) - Dynamic stylesheet generation with full QSS support - QSettings persistence for user theme preference - Custom stylesheet loading from file support - Singleton pattern for global access Story 7.13: Keyboard Shortcuts (4 SP) - Create src/ui/shortcuts.py with ShortcutsManager class - Default shortcuts for all common operations (Ctrl+O, Ctrl+S, F5, etc.) - ShortcutCaptureButton widget for interactive shortcut assignment - ShortcutsDialog for configuration UI - QSettings persistence for shortcut customizations - Conflict detection for duplicate shortcuts - Reset to defaults functionality Story 7.15: Log Viewer (5 SP) - Create src/ui/log_viewer.py with LogViewer widget - Log levels (DEBUG/INFO/WARNING/ERROR/CRITICAL) with colors - InMemoryLogHandler for capturing application logs - LogTableModel with table display (时间, 级别, 消息, 模块) - Log level filtering (INFO+, WARNING+, ERROR+) - Search functionality for log content - Export to TXT and CSV formats - Auto-scroll toggle for new log entries Story 7.12: Multi-language UI (5 SP) - Create src/ui/i18n.py with I18nManager class - SupportedLanguage enum (简体中文, English) - Complete translation dictionary with 100+ keys - Dynamic language switching with signal emission - Retranslate callback system for widget updates - Module-level t() function for easy translations - Language selection menu support Also includes: - Full test suites for all 5 components - src/config/ module for application settings - tests/config/ tests for configuration manager Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • e194b1c84c feat(ui): Implement Epic 7b Phase 2 - Basic interaction enhancements (P1, 28 SP) Implemented 7 stories for UI interaction enhancements: Story 7.20 (5 SP): One-click translation functionality - Created TranslationController with Start/Pause/Resume/Cancel controls - Integrated PipelineScheduler with UI via UIProgressObserver - Added TranslationWorker for async pipeline execution Story 7.14 (4 SP): Drag and drop upload - Added dragEnterEvent/dragMoveEvent/dropEvent to FileSelector - Support for multiple files and folders - Visual feedback during drag operations Story 7.10 (6 SP): Settings configuration dialog - Created SettingsDialog with tabbed interface - GPU settings (device selection, use_gpu toggle) - Model settings (path, name, max_length) - General settings (work_dir, languages, auto-save) - Save/load configuration to JSON file Story 7.16 (4 SP): Error dialog - Created ErrorDialog with user-friendly error display - Suggested solutions based on error type - Copy/save error log functionality - ErrorReporter utility for common errors Story 7.24 (4 SP): Import preview dialog - Created ImportPreviewDialog with chapter preview - Chapter list with word counts - Content preview pane - BatchImportDialog for multiple files Story 7.18 (6 SP): Content preview widget - Created ContentPreviewWidget with dual-pane view - Synchronized scrolling between original and translated text - Chapter navigation controls - Diff highlighting capability Story 7.21 (5 SP): Batch operations - Created BatchFileSelector for multi-file selection - BatchOperationWorker for background operations - BatchOperationsManager for common batch tasks - Select/deselect all, filter by status Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 8c48e6a253 feat(ui): Integrate FileSelector and ProgressWidget into MainWindow Updates Story 7.7 with component integration: ## Changes - Updated MainWindow to integrate FileSelector and ProgressWidget - Left panel (30%): File list with QTableView - Right panel (70%): FileSelector + ProgressWidget + control buttons - Added file selection dialogs (files and folder) - Connected FileSelector signals to MainWindow - Added component availability checks with fallback UI ## UI Components - FileSelector: Multi-file support, folder import, validation - ProgressWidget: Connected to ProgressNotifier interface - Both components gracefully degrade when PyQt6 not available ## Testing - Added tests/ui/test_models.py (no GUI required) - Updated tests/ui/test_main_window.py with integration tests - Added test for FileSelector and ProgressWidget integration - Added test for splitter ratio (30/70) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • これらの 6 コミットの比較を表示 »

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • 412fc8c1e5 feat(uploader): Implement chapter upload module (Epic 6) - Add UploadClient for server communication with retry logic - Add CUCalculator for CU fee calculation (ceil(chars/100)) - Add ContentChecker for compliance checking (sensitive words, format, placeholders) - Add UploadManager integrating all upload features - Add MockUploadClient for testing without server - Add data models: UploadResult, BatchUploadResult, ContentCheckResult, QuotaInfo Features: - Single and batch chapter upload - Content compliance checking (sensitive words, format, placeholders) - CU calculation: ceil(character_count / 100) - Customizable sensitive words list - Strict mode for content validation - Dry run mode for testing - Quota checking and management - Upload workflow with progress tracking - Pre-upload validation Tests: 38 tests passing, >80% coverage Part of Epic 6: Upload Module (28SP) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • bfe8a3071c feat(scheduler): Implement Pipeline task scheduler (Epic 7a) - Add PipelineScheduler integrating all completed modules (Epic 1-5) - Add TaskQueue for thread-safe chapter task management - Add RetryManager with exponential backoff for failed tasks - Add ProgressNotifier with Observer pattern for progress tracking - Add RecoveryManager for crash-safe checkpoint/recovery - Add data models: ChapterTask, PipelineProgress, CheckpointData Features: - Full pipeline integration (fingerprint → cleaning → translation) - Pause/resume/stop controls - Automatic retry with configurable backoff - Event history tracking for progress - Atomic checkpoint writes for crash safety - Console and callback progress observers - Thread-safe task queue with statistics Tests: 33 integration tests passing, >60% coverage Part of Epic 7a: Task Scheduling (42SP) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • bdad035129 feat(cleaning): Implement TXT cleaning and chapter splitting (Epic 3) - Add TxtReader with multi-encoding auto-detection (UTF-8/GBK/GB18030/Big5) - Add ChapterSplitter supporting 8 chapter title patterns - Add TextCleaner for text normalization and cleaning - Add CleaningPipeline integrating all components - Add Chapter and CleaningResult data models Features: - Encoding fallback with chardet detection - Binary file detection - BOM character handling - Punctuation normalization (Chinese/English) - Quote normalization (curly to straight) - URL/email/ad removal - Whitespace cleanup - Batch processing support - Custom chapter patterns Tests: 110 tests passing, >90% coverage Part of Epic 3: TXT preprocessing module (28SP) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 9dd9c3e9d0 feat(fingerprint): Implement fingerprint mechanism (Epic 2) - Story 2.1: FileFingerprint - MD5 calculation with quick hash support - Story 2.2: FingerprintStore - duplicate detection with JSON persistence - Story 2.3: FingerprintService - import integration with workflow checks - Story 2.4: BatchFingerprintChecker - batch processing utilities Features: - MD5-based file fingerprinting for duplicate detection - Quick hash sampling for large files (preliminary check) - Persistent fingerprint index with atomic writes - Integration with Repository for work completion checking - Batch file checking with categorization and filtering - Full test coverage (36 tests) Prevents duplicate translation, saves user costs. Epic 2 completed ✅ Part of Phase 2b: Core Feature Development Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 3104fe9c72 feat(translator): Implement Translation module (Epic 5) Implements the complete translation module with m2m100 model integration, glossary preprocessing, and post-processing capabilities. ## Story 5.1: TranslationEngine (8SP) - TranslationEngine class with m2m100 model wrapper - Support for single and batch translation - CPU/GPU auto-detection - Language code validation ## Story 5.2: TranslationPipeline (6SP) - TranslationPipeline integrating glossary preprocessing - Integration with GlossaryPostprocessor - TranslationResult dataclass for detailed results - Batch translation support ## Story 5.3: ChapterTranslator (6SP) - ChapterTranslator for novel chapter translation - Long text paragraph splitting - Resume/continuation support for crash recovery - Repository integration for persistence ## Story 5.4: ProgressReporter (3SP) - ProgressReporter with callback system - ProgressStatus enum for event types - ConsoleProgressReporter for simple console output - Progress summary and statistics ## Story 5.5: Unit Tests (3SP) - Comprehensive unit tests for all components - Mocked transformers dependencies for CI - Integration tests with mocked model ## Files Added - src/translator/__init__.py - src/translator/engine.py - src/translator/pipeline.py - src/translator/chapter_translator.py - src/translator/progress.py - tests/test_translator.py Epic 5 completed ✅ (26 SP) Part of Phase 2: Core Feature Development Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • cf5c97a984 feat(repository): Implement Repository + Crash-Safe (Epic 1.2) - Story 1.2.1: Data models (3SP) * WorkItem: work_id, file_path, status, metadata, progress * ChapterItem: work_id, chapter_index, content, translation, status * FailureRecord: error_type, error_message, retry_count, resolved * WorkStatus enum: PENDING, FINGERPRINTING, CLEANING, etc. * ChapterStatus enum: PENDING, PROCESSING, COMPLETED, FAILED - Story 1.2.2: JSONLStore with atomic write (4SP) * JSONL format: one JSON object per line * Atomic write: temp file + rename + fsync * Append mode for efficient additions * Work-specific directories for isolation * Skip corrupted lines on read * Storage structure: base_dir/{work_items.jsonl, work_id/{chapters,failures}.jsonl} - Story 1.2.3: Repository interface (3SP) * CRUD operations for WorkItem, ChapterItem, FailureRecord * create_work(), get_work(), list_works(), update_work(), delete_work() * save_chapter(), get_chapter(), get_chapters(), get_pending_chapters() * record_failure(), get_failures(), resolve_failure() * get_work_stats(), get_all_stats() for analytics * Custom exceptions: WorkNotFoundError, ChapterNotFoundError - Crash-Safety guarantees: * Atomic writes prevent data corruption on crashes * JSONL format limits damage to last line only * Fsync ensures data is written to disk * Temp file cleanup on errors Epic 1.2 completed ✅ (10 SP) Phase 1a (Infrastructure Core) completed ✅: - Epic 1.1: State Machine (25 SP) - Epic 1.2: Repository (10 SP) - Epic 4: Glossary (26 SP) Total: 61 SP Part of Phase 1a: Core Infrastructure Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 6913a50a61 feat(core): Complete Epic 1.1 with validation and full tests (Story 1.1.4 + 1.1.5) - Add validate_on_restore() for state integrity checking * Validates state type is PipelineState * Validates context and history structure * Validates all historical transitions are legal * Validates current state matches last history entry - Add get_resume_point() for human-readable resume description - Comprehensive test coverage additions: * StateValidation class for validation testing * PersistenceEdgeCases class for edge case testing * LargeScalePersistence class for stress testing * PersistenceWithDifferentStates class for state coverage - Test coverage includes: * Unicode and special characters * Large history (100+ transitions) * Many context entries (100+ keys) * State overwrite scenarios * Callback preservation (or lack thereof) - Fixed validation to detect invalid first transitions Epic 1.1 (State Machine) completed ✅ (25 SP total) Stories: - Story 1.1.1: PipelineState enum and transitions (5SP) - Story 1.1.2: StateMachine transition engine (8SP) - Story 1.1.3: State persistence (4SP) - Story 1.1.4: State validation (3SP) - Story 1.1.5: Complete test coverage (5SP) Part of Phase 1a: Infrastructure Core Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • これらの 13 コミットの比較を表示 »

2 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • d55ea7de17 feat: Prepare Phase 1 development environment - Create Epic 1.1 (State Machine) story breakdown (5 stories, 18 SP) - Create Epic 4 (Glossary) story breakdown (5 stories, 26 SP, P0 priority) - Set up project code structure: - src/pipeline/: State machine implementation - src/glossary/: Terminology management - src/utils/: Persistence utilities - Add comprehensive test suites: - tests/test_state_machine.py: State transition tests - tests/test_glossary.py: Terminology processing tests - Add requirements.txt with dependencies (transitions, pytest) - Add pytest.ini configuration for coverage reporting This prepares the development environment for Phase 1a (Infrastructure) and Phase 1b (Glossary) implementation based on Party Mode prioritization. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

3 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • 06f155983e docs: Reprioritize Epic 4 to P0 and restructure Phase 1 - Epic 4 (Glossary) promoted to P0 based on Phase 0 findings - Phase 1 restructured to 3 weeks: - Phase 1a: Epic 1 (Infrastructure) - 2 weeks - Phase 1b: Epic 4 (Glossary) - 1 week (partial parallel) - Add detailed Epic 4 story breakdown for Phase 1 - Update development roadmap in CLAUDE.md Justification: Phase 0 verification confirmed glossary is critical for translation quality. Without proper glossary, translated content is unusable (e.g., "Lin wind" vs "Lin Feng"). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

3 日 前

1030-6223-template-236/blankmaster をプッシュしました

  • cd12881041 docs: Complete Phase 0 technical verification with full test results - Add Phase 0 completion status to CLAUDE.md with all test results - Create comprehensive Phase 0 technical verification report - Document performance metrics: ~1160 words/minute on CPU - Validate glossary functionality with 14 terms - Approve Go/No-Go decision: ✅ GO for Sprint development Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
  • 2c82e061ee docs: 完成实现准备度评估,覆盖率 100% 阶段 4:实现准备度验证与修复 - Epic 质量修复:重写目标为用户价值聚焦 (Epic 1,2,4) - Epic 拆分:Epic 7 → Epic 7a (调度) + Epic 7b (UI) - 补充 8 个缺失 Story (FR6, FR22, FR23, FR26, FR37, FR42-43, FR46-49, FR50-51) - UX 低保真线框图创建 (6 个主要界面) - 修正 UX 技术路线不一致 (本地 GPU 翻译) - 实现准备度评估报告生成 项目规模: - Epic: 8 个 (7a + 7b) - 用户故事: 66 个 - 故事点: 318 点 - FR 覆盖率: 100% Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
  • dbe35cbf1b docs: Epic 质量修复与 UX 线框图 - 重写 Epic 目标为用户价值聚焦 (Epic 1, 2, 4) - 拆分 Epic 7 为 Epic 7a (任务调度) 和 7b (用户界面) - 补充 7 个缺失 Story (FR6, FR22, FR23, FR26, FR37, FR42-43, FR46-49) - 新增 29 故事点,总计 315 点 - 创建 UX 低保真线框图 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
  • これらの 3 コミットの比較を表示 »

3 日 前

1030-6188-template-179/mini-starter にタグ v0.0.30 をプッシュしました

1 ヶ月 前

1030-6188-template-179/mini-startermonorepo をプッシュしました

  • 4196eec019 test(e2e): 添加区域编码大小写敏感性测试 添加 E2E 测试验证区域编码重复时的错误提示功能。 该测试对应 Bug 修复:当用户尝试将区域编码改为已存在的值时, 页面应正确显示"数据已存在,请检查唯一性约束"错误提示。 Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

1 ヶ月 前

1030-6188-template-179/mini-startermonorepo をプッシュしました

  • 071ce126fe fix(order-management): 修复订单列表渠道列显示渠道名称问题 修复前:渠道列显示"渠道4"、"渠道3"等ID格式 修复后:渠道列正确显示渠道名称,如"石丁业"、"赵卫"、"测试渠道" 问题原因:原代码使用 || 运算符导致运算符优先级错误 order.channel?.channelName || order.channelId ? `渠道${order.channelId}` : '-' 实际执行为:(order.channel?.channelName || order.channelId) ? `渠道${order.channelId}` : '-' 修复方案:使用 ?? (空值合并运算符) 修复优先级问题 order.channel?.channelName ?? (order.channelId ? `渠道${order.channelId}` : '-') Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>

1 ヶ月 前