docs(04-05): complete CLI process subcommand and E2E tests plan
- CLI 'process' subcommand for single-command workflow execution - End-to-end integration tests (16 tests passing) - State persistence and resumability verified Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -15,7 +15,7 @@ Decimal phases appear between their surrounding integers in numeric order.
|
||||
- [x] **Phase 1: Foundation** - 状态管理、Schema验证、错误处理、统一配置
|
||||
- [x] **Phase 2: Platform Skills** - B站/知乎链接解析、元数据提取、内容下载
|
||||
- [ ] **Phase 3: Processing Skills** - ASR 集成、视频内容文字提取
|
||||
- [ ] **Phase 4: Analysis & Orchestration** - 深度分析集成、完整管道编排、端到端验证
|
||||
- [x] **Phase 4: Analysis & Orchestration** - 深度分析集成、完整管道编排、端到端验证
|
||||
|
||||
## Phase Details
|
||||
|
||||
@@ -80,9 +80,11 @@ Plans:
|
||||
**Plans**: TBD
|
||||
|
||||
Plans:
|
||||
- [ ] 04-01: Deep Analyzer 集成
|
||||
- [ ] 04-02: Pipeline Engine 完整编排
|
||||
- [ ] 04-03: 代码结构整理与文档
|
||||
- [x] 04-01: BaseProcessor + ParseProcessor + DownloadProcessor
|
||||
- [x] 04-02: ASRProcessor + AnalyzeProcessor
|
||||
- [x] 04-03: Pipeline schemas (PipelineInput/Output/Config)
|
||||
- [x] 04-04: Pipeline class with processor orchestration
|
||||
- [x] 04-05: CLI process subcommand and E2E tests
|
||||
|
||||
## Progress
|
||||
|
||||
@@ -94,9 +96,9 @@ Phases execute in numeric order: 1 → 2 → 3 → 4
|
||||
| 1. Foundation | 3/3 | Complete | 01-02, 01-01, 01-03 |
|
||||
| 2. Platform Skills | 3/3 | Complete | 02-01, 02-02, 02-03 |
|
||||
| 3. Processing Skills | 0/1 | Not started | - |
|
||||
| 4. Analysis & Orchestration | 0/3 | Not started | - |
|
||||
| 4. Analysis & Orchestration | 5/5 | Complete | 04-01, 04-02, 04-03, 04-04, 04-05 |
|
||||
|
||||
---
|
||||
*Roadmap created: 2026-03-13*
|
||||
*Last updated: 2026-03-13 - Phase 3 planned (OCR excluded per user decision)*
|
||||
*Last updated: 2026-03-15 - Phase 4 complete (5 plans: 04-01 through 04-05)*
|
||||
*Granularity: coarse (4 phases)*
|
||||
|
||||
+10
-8
@@ -4,14 +4,14 @@ milestone: v1.0
|
||||
milestone_name: milestone
|
||||
current_plan: 3
|
||||
status: executing
|
||||
stopped_at: Completed 04-analysis-orchestration-04-04-PLAN.md
|
||||
last_updated: "2026-03-13T15:39:34.243Z"
|
||||
last_activity: 2026-03-13
|
||||
stopped_at: Completed 04-analysis-orchestration-04-05-PLAN.md
|
||||
last_updated: "2026-03-14T16:09:08.688Z"
|
||||
last_activity: 2026-03-14
|
||||
progress:
|
||||
total_phases: 4
|
||||
completed_phases: 3
|
||||
completed_phases: 4
|
||||
total_plans: 12
|
||||
completed_plans: 11
|
||||
completed_plans: 12
|
||||
percent: 8
|
||||
---
|
||||
|
||||
@@ -30,7 +30,7 @@ Phase: 1 of 4 (Foundation)
|
||||
Current Plan: 3
|
||||
Total Plans in Phase: 3
|
||||
Status: Executing
|
||||
Last activity: 2026-03-13
|
||||
Last activity: 2026-03-14
|
||||
|
||||
Progress: [█░░░░░░░░░] 8%
|
||||
|
||||
@@ -64,6 +64,7 @@ Progress: [█░░░░░░░░░] 8%
|
||||
| Phase 04-analysis-orchestration P02 | 7min | 3 tasks | 4 files |
|
||||
| Phase 04-analysis-orchestration P03 | 7min | 3 tasks | 4 files |
|
||||
| Phase 04-analysis-orchestration P04 | 3min | 2 tasks | 3 files |
|
||||
| Phase 04-analysis-orchestration P05 | 4min | 2 tasks | 3 files |
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
@@ -97,6 +98,7 @@ Recent decisions affecting current work:
|
||||
- [Phase 04-analysis-orchestration]: Pipeline uses sequential execution for simplicity and debuggability
|
||||
- [Phase 04-analysis-orchestration]: Processor STEP_NAME validation ensures only configured steps run
|
||||
- [Phase 04-analysis-orchestration]: Content directory naming: {platform}_{content_id}
|
||||
- [Phase 04-analysis-orchestration]: CLI uses argparse subparsers for process command organization
|
||||
|
||||
### Pending Todos
|
||||
|
||||
@@ -112,6 +114,6 @@ None yet.
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-03-13T15:39:34.242Z
|
||||
Stopped at: Completed 04-analysis-orchestration-04-04-PLAN.md
|
||||
Last session: 2026-03-14T16:09:08.686Z
|
||||
Stopped at: Completed 04-analysis-orchestration-04-05-PLAN.md
|
||||
Resume file: None
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
---
|
||||
phase: 04-analysis-orchestration
|
||||
plan: 05
|
||||
subsystem: cli
|
||||
tags: [cli, argparse, asyncio, pipeline, e2e, integration-tests]
|
||||
|
||||
# Dependency graph
|
||||
requires:
|
||||
- phase: 04-analysis-orchestration
|
||||
provides: Pipeline class, Processors (Parse, Download, ASR, Analyze), WorkflowStateManager
|
||||
provides:
|
||||
- CLI 'process' subcommand for single-command workflow execution
|
||||
- End-to-end integration tests for complete pipeline
|
||||
- State persistence verification
|
||||
affects: [future-cli-extensions]
|
||||
|
||||
# Tech tracking
|
||||
tech-stack:
|
||||
added: []
|
||||
patterns: [subparsers, asyncio.run(), mocked async tests]
|
||||
|
||||
key-files:
|
||||
created:
|
||||
- tests/test_cli/test_process_command.py
|
||||
- tests/test_integration/test_e2e_workflow.py
|
||||
modified:
|
||||
- kb-workflow/kb_workflow.py
|
||||
|
||||
key-decisions:
|
||||
- "CLI uses argparse subparsers for command organization"
|
||||
- "process_command wraps async Pipeline.run() with asyncio.run()"
|
||||
- "Integration tests use mocked processors to verify orchestration"
|
||||
|
||||
patterns-established:
|
||||
- "CLI pattern: subparser per command, mock process_command for unit tests"
|
||||
- "Integration test pattern: mock processors with AsyncMock, verify state persistence"
|
||||
|
||||
requirements-completed: [MNT-01]
|
||||
|
||||
# Metrics
|
||||
duration: 4min
|
||||
completed: 2026-03-13
|
||||
---
|
||||
# Phase 04 Plan 05: CLI Process Subcommand and E2E Tests Summary
|
||||
|
||||
**CLI 'process' subcommand enabling single-command workflow execution with full end-to-end integration tests**
|
||||
|
||||
## Performance
|
||||
|
||||
- **Duration:** 4 min
|
||||
- **Started:** 2026-03-13T15:43:06Z
|
||||
- **Completed:** 2026-03-13T15:46:54Z
|
||||
- **Tasks:** 2
|
||||
- **Files modified:** 3
|
||||
|
||||
## Accomplishments
|
||||
- Added `process` subcommand to kb-workflow CLI using argparse subparsers
|
||||
- Implemented process_command() function wrapping async Pipeline.run()
|
||||
- Created 7 CLI tests covering help, URL processing, flags, and error handling
|
||||
- Created 9 E2E integration tests covering full workflow, error handling, state persistence, and resumability
|
||||
- All 16 tests passing
|
||||
|
||||
## Task Commits
|
||||
|
||||
Each task was committed atomically:
|
||||
|
||||
1. **Task 1: Add CLI 'process' subcommand** - `76aefa2` (test) + `33eeb6b` (feat)
|
||||
2. **Task 2: Create end-to-end integration test** - `377794b` (test) + `ec2d12a` (feat)
|
||||
|
||||
**Plan metadata:** (pending final commit)
|
||||
|
||||
_Note: TDD tasks have multiple commits (test -> feat)_
|
||||
|
||||
## Files Created/Modified
|
||||
- `kb-workflow/kb_workflow.py` - Added process subcommand with argparse, process_command() function
|
||||
- `tests/test_cli/test_process_command.py` - CLI tests (7 tests)
|
||||
- `tests/test_integration/test_e2e_workflow.py` - E2E integration tests (9 tests)
|
||||
|
||||
## Decisions Made
|
||||
- Used argparse subparsers for command organization (process subcommand)
|
||||
- Wrapped async Pipeline.run() with asyncio.run() in process_command()
|
||||
- CLI tests mock process_command directly to isolate CLI parsing logic
|
||||
- Integration tests use mocked processors with AsyncMock to verify orchestration without external dependencies
|
||||
|
||||
## Deviations from Plan
|
||||
|
||||
None - plan executed exactly as written.
|
||||
|
||||
## Issues Encountered
|
||||
None
|
||||
|
||||
## User Setup Required
|
||||
|
||||
None - no external service configuration required.
|
||||
|
||||
## Next Phase Readiness
|
||||
- Complete end-to-end workflow operational via `kb-workflow process <url>`
|
||||
- All 4 processors integrated (Parse, Download, ASR, Analyze)
|
||||
- State persistence verified through tests
|
||||
- Ready for checkpoint verification and Phase 4 completion
|
||||
|
||||
## Self-Check: PASSED
|
||||
- All files verified to exist:
|
||||
- FOUND: kb-workflow/kb_workflow.py
|
||||
- FOUND: tests/test_cli/test_process_command.py
|
||||
- FOUND: tests/test_integration/test_e2e_workflow.py
|
||||
- All commits verified in git history:
|
||||
- FOUND: 76aefa2 (test)
|
||||
- FOUND: 33eeb6b (feat)
|
||||
- FOUND: 377794b (test)
|
||||
- FOUND: ec2d12a (feat)
|
||||
- FOUND: 989834a (docs)
|
||||
- All 16 tests passing
|
||||
|
||||
---
|
||||
*Phase: 04-analysis-orchestration*
|
||||
*Completed: 2026-03-13*
|
||||
Reference in New Issue
Block a user