chore: complete v1.0 milestone

This commit is contained in:
2026-03-15 00:59:12 +08:00
parent 5736e2228e
commit 7cf6ddd02f
5 changed files with 312 additions and 121 deletions
+22
View File
@@ -0,0 +1,22 @@
# Milestones
## v1.0 Pipeline Architecture (Shipped: 2026-03-15)
**Phases completed:** 4 phases, 12 plans
**Timeline:** 28 days (Feb 15 → Mar 15)
**LOC:** ~50K new lines (243 files)
**Key accomplishments:**
- ✓ WorkflowStateManager — 步骤级状态管理,支持断点续传
- ✓ LinkParser + IdempotencyChecker — 统一 URL 解析和幂等检查
- ✓ BilibiliAdapter / ZhihuAdapter — 平台元数据适配器
- ✓ BaseProcessor + Processors — 管道处理器架构
- ✓ Pipeline 类 — 处理器编排引擎
- ✓ CLI `process` subcommand — 一键式工作流入口
**Delivered:** 单命令知识库处理 — `kb-workflow process <url>` 完成从链接到深度分析报告的完整流程
**Archives:** `.planning/milestones/v1.0-ROADMAP.md`, `.planning/milestones/v1.0-REQUIREMENTS.md`
---
+53 -37
View File
@@ -4,6 +4,11 @@
一个基于管道模型的知识库内容处理技能体系。将外部链接(B站视频/专栏、知乎问答/专栏)转换为结构化的深度分析报告,支持幂等执行和断点续传。
**使用方式:**
```bash
python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx"
```
## Core Value
**可靠、可维护的处理管道** - 每个步骤独立、可验证、可恢复。无论何时失败,都能从断点继续,不会丢失已完成的进度。
@@ -12,9 +17,24 @@
### Validated
**v1.0 管道架构 (2026-03-15):**
- ✓ **PIPE-01**: 统一的管道模型 — `kb_pipeline/pipeline.py`
- ✓ **PIPE-02**: 步骤级状态管理 — `WorkflowStateManager`
- ✓ **PIPE-03**: 统一 JSON Schema — `StepInput/StepOutput` schemas
- ✓ **PIPE-04**: 幂等执行保证 — `IdempotencyChecker`
- ✓ **PIPE-05**: 错误恢复策略 — 重试机制 + 降级策略
- ✓ **PIPE-06**: 清晰的流程定义 — 每个处理器有明确的输入/输出
- ✓ **PIPE-07**: Schema 验证机制 — Pydantic 验证
- ✓ **PIPE-08**: 代码结构清晰化 — `kb_pipeline/` 模块化设计
- ✓ **REL-01~03**: 可靠性要求 — 幂等执行、错误恢复、流程定义
- ✓ **VAL-01**: Schema 验证机制
- ✓ **MNT-01~03**: 可维护性要求 — 清晰结构、统一配置、错误处理
- ✓ **PLAT-01~03**: 平台支持 — B站视频/专栏、知乎问答/专栏
**原有技能 (已验证):**
- ✓ B站视频元数据提取 — bilibili_metadata.py
- ✓ B站视频/专栏内容下载 — bilibili_content.py
- ✓ B站字幕下载(官方字幕) — bilibili_content.py --type subtitle-download
- ✓ B站字幕下载(官方字幕) — bilibili_content.py
- ✓ 知乎元数据提取 — zhihu_metadata.py
- ✓ 知乎文章/问答内容提取 — zhihu_content.py
- ✓ Whisper 语音识别 — whisper.py
@@ -22,62 +42,58 @@
- ✓ FunASR 中文语音识别 — funasr_runner.py
- ✓ OCR 文字识别 — ocr_processor.py
- ✓ AI 深度分析 — deep_analyzer.py
- ✓ 目录管理和归档 — kb_workflow.py
### Active
- [ ] **PIPE-01**: 统一的管道模型 - 每个步骤是独立管道,输入→处理→输出
- [ ] **PIPE-02**: 步骤级状态管理 - 每个主要步骤完成后记录状态到 workflow_state.json
- [ ] **PIPE-03**: 统一 JSON Schema - 所有子技能遵守统一的输入输出格式规范
- [ ] **PIPE-04**: 幂等执行保证 - 重复执行同一链接不会产生重复文件
- [ ] **PIPE-05**: 错误恢复策略 - 403/超时等错误有明确的降级策略
- [ ] **PIPE-06**: 清晰的流程定义 - 每个步骤的前置条件、输出格式、成功标准明确
- [ ] **PIPE-07**: Schema 验证机制 - 每个步骤输出通过 Schema 验证
- [ ] **PIPE-08**: 代码结构清晰化 - 模块化设计,新人能快速理解和修改
- [ ] **ADV-01**: 进度可见性 — 实时显示工作流执行进度
- [ ] **ADV-02**: 并行步骤执行 — 支持独立步骤的并行执行
- [ ] **ADV-03**: 说话者分离默认启用 — HF_TOKEN 配置后自动使用
- [ ] **EXT-01**: 微信公众号处理 — 支持微信公众号文章
### Out of Scope
- 实时/流式处理 — 批量处理即可,不需要实时
- 实时/流式处理 — 批量处理即可
- 并发限制 — 不需要限制并发数量
- 用户界面 — 命令行运行,不需要 Web/UI
- 多语言支持 — 中文即可,不需要国际化
- 微信公众号/小红书 — 当前只支持 B站和知乎
- 用户界面 — 命令行运行
- 多语言支持 — 中文即可
- 小红书 — 当前不支持
## Context
### 现有架构
- 技能集合:13 个技能模块(kb-* 系列 + gsd-openclaw)
- 主工作流:kb-workflow 协调多个子技能的执行
- 平台支持:B站(视频/专栏)、知乎(问答/专栏/视频)
- 处理类型:视频需要字幕/语音识别,文章直接提取文字
### 当前架构 (v1.0)
- **核心模块**: `kb_pipeline/` — Pipeline、Processors、Schemas
- **CLI 入口**: `kb-workflow/kb_workflow.py process`
- **平台适配器**: BilibiliAdapter, ZhihuAdapter
- **处理器**: ParseProcessor, DownloadProcessor, ASRProcessor, AnalyzeProcessor
- **测试覆盖**: 单元测试 + E2E 集成测试
### 已知问题(来自审查报告)
1. **流程不清晰**:执行主体不明确(主代理 vs 子代理),步骤边界模糊
2. **完成要求不明确**:缺少成功标准,失败处理不一致
3. **缺少示例**:没有端到端成功案例,错误处理案例缺失
4. **无状态管理**:没有 workflow_state.json,无法断点续传
5. **格式不明确**:JSON Schema 缺失,字段名不统一,命名规范模糊
### 技术栈
- Python 3.12+
- Pydantic v2 (数据验证)
- asyncio (异步执行)
- pytest (测试框架)
### 技术债务
- 环境变量配置分散(~/.kb_env, HF_TOKEN 在子章节, ZHIHU_COOKIE 在子技能)
- 超时和重试机制不明确
- 子技能文档质量参差不齐
- 环境变量配置分散 (~/.kb_env, HF_TOKEN, ZHIHU_COOKIE)
- SKILL.md 需要更新为简化的 CLI 使用方式
## Constraints
- **Tech Stack**: Python 3.12+, 现有依赖库保持不变
- **Compatibility**: 可破坏性更新,不需要向后兼容
- **Scope**: 只支持 B站和知乎两个平台
- **State Granularity**: 步骤级状态管理(不是任务级)
- **Tech Stack**: Python 3.12+, Pydantic v2
- **Compatibility**: 可破坏性更新
- **Scope**: 只支持 B站和知乎
- **State Granularity**: 步骤级状态管理
## Key Decisions
| Decision | Rationale | Outcome |
|----------|-----------|---------|
| 管道模型 | 每个步骤独立,输入→处理→输出,串联执行 | — Pending |
| 步骤级状态 | 记录主要步骤状态(解析→下载→识别→分析),支持断点续传 | — Pending |
| Schema 验证 | 只验证 JSON Schema,内容正确性由步骤保证 | — Pending |
| 全量重构 | 主流程 + 所有子技能一起重构,避免接口不兼容 | — Pending |
| 管道模型 | 每个步骤独立,输入→处理→输出,串联执行 | ✓ Good — 清晰的处理器边界 |
| 步骤级状态 | 记录主要步骤状态,支持断点续传 | ✓ Good — WorkflowStateManager 实现 |
| Schema 验证 | 只验证 JSON Schema,内容正确性由步骤保证 | ✓ Good — Pydantic 验证 |
| 顺序执行 | Pipeline 使用顺序执行而非并行 | ✓ Good — 简单性和可调试性 |
| CLI subparsers | 使用 argparse subparsers 组织命令 | ✓ Good — 可扩展的 CLI 结构 |
| 懒加载导入 | AnalyzeProcessor 懒加载 DeepAnalyzer | ✓ Good — 避免依赖问题 |
---
*Last updated: 2026-03-13 after initialization*
*Last updated: 2026-03-15 after v1.0 milestone*
+31 -84
View File
@@ -1,119 +1,66 @@
---
gsd_state_version: 1.0
milestone: v1.0
milestone_name: milestone
current_plan: 3
status: executing
stopped_at: Completed 04-analysis-orchestration-04-05-PLAN.md
last_updated: "2026-03-14T16:09:08.688Z"
last_activity: 2026-03-14
milestone_name: Pipeline Architecture
status: milestone_complete
last_updated: "2026-03-15T00:00:00.000Z"
last_activity: 2026-03-15
progress:
total_phases: 4
completed_phases: 4
total_plans: 12
completed_plans: 12
percent: 8
percent: 100
---
# Project State
## Project Reference
See: .planning/PROJECT.md (updated 2026-03-13)
See: .planning/PROJECT.md (updated 2026-03-15 after v1.0)
**Core value:** 可靠、可维护的处理管道 - 每个步骤独立、可验证、可恢复
**Current focus:** Phase 1 - Foundation
**Current focus:** Milestone v1.0 complete — ready for v1.1 planning
## Current Position
Phase: 1 of 4 (Foundation)
Current Plan: 3
Total Plans in Phase: 3
Status: Executing
Last activity: 2026-03-14
**Status:** Milestone Complete ✓
**Milestone:** v1.0 Pipeline Architecture
**Shipped:** 2026-03-15
Progress: [█░░░░░░░░░] 8%
Progress: [██████████] 100%
## Performance Metrics
## Milestone Summary
**Velocity:**
- Total plans completed: 1
- Average duration: 7 min
- Total execution time: 0.1 hours
| Metric | Value |
|--------|-------|
| Phases | 4 |
| Plans | 12 |
| Timeline | 28 days |
| Files | 243 |
| New LOC | ~50K |
**By Phase:**
| Phase | Plans | Total | Avg/Plan |
|-------|-------|-------|----------|
| 1. Foundation | 1 | 7 min | 7 min |
| 2. Platform Skills | 0 | - | - |
| 3. Processing Skills | 0 | - | - |
| 4. Analysis & Orchestration | 0 | - | - |
**Recent Trend:**
- Last 5 plans: -
- Trend: -
*Updated after each plan completion*
| Phase 01-foundation P01 | 5 | 3 tasks | 3 files |
| Phase 01-foundation P03 | 8 | 5 tasks | 7 files |
| Phase 02-platform-skills P01 | 5 | 3 tasks | 5 files |
| Phase 02-platform-skills P03 | 7min | 3 tasks | 4 files |
| Phase 02 P02 | 8 | 4 tasks | 7 files |
| Phase 04-analysis-orchestration P01 | 5min | 3 tasks | 6 files |
| 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 |
**Key Deliverables:**
- kb_pipeline/ — 核心管道包
- CLI `process` subcommand — 一键式入口
- 完整测试覆盖
## Accumulated Context
### Decisions
Decisions are logged in PROJECT.md Key Decisions table.
Recent decisions affecting current work:
Key decisions logged in PROJECT.md. Summary:
- [Roadmap]: 采用4阶段结构(coarse粒度),合并Processing和Analysis相关需求
- [01-02]: 使用 Pydantic v2 作为 Schema 验证框架
- [01-02]: WorkflowState 包含步骤状态管理方法
- [01-02]: 创建 pytest.ini 配置 pythonpath
- [Phase 01-01]: Follow gsd-openclaw atomic write pattern for crash-safe state persistence
- [Phase 01-01]: Return None instead of raising exception when no state file exists
- [Phase 01-foundation]: 使用 pydantic-settings 从 ~/.kb_env 加载配置,env_prefix=KB_
- [Phase 01-foundation]: 使用 tenacity 实现重试机制,3次重试+指数退避
- [Phase 01-foundation]: 错误类包含 step_name, input_summary, suggestion 用于调试
- [Phase 02-platform-skills]: 使用 dataclass 定义 ParsedLink,短链解析使用 requests.head
- [Phase 02-platform-skills]: 无法识别的 URL 返回 None 而不是抛异常,便于调用方处理
- [Phase 02-platform-skills]: Lazy import of kb_zhihu_metadata to avoid dependency issues
- [Phase 02-platform-skills]: Login page detection via title keywords and content length threshold
- [Phase 02]: State recording only after all retries exhausted (not on each retry attempt)
- [Phase 02]: Video content returns empty string (handled by ASR in Phase 3)
- [Phase 02]: Article content fetching as placeholder (requires additional API implementation)
- [Phase 04-01]: BaseProcessor uses ABC with @abstractmethod for process() method
- [Phase 04-01]: ParseInput content_id and platform default to empty string (populated after parse)
- [Phase 04-02]: Video content skipped in download step (handled by ASR in Phase 3)
- [Phase 04-02]: Text content downloaded and saved as Markdown with YAML frontmatter
- [Phase 04-03]: AnalyzeProcessor uses lazy import for DeepAnalyzer to avoid dependency issues
- [Phase 04-03]: Analysis reports saved as Markdown with YAML frontmatter generated by generate_frontmatter()
- [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
[From .planning/todos/pending/ — ideas captured during sessions]
None yet.
- ✓ 管道模型 — BaseProcessor + Pipeline 架构
- ✓ 步骤级状态 — WorkflowStateManager
- ✓ Schema 验证 — Pydantic v2
- ✓ 顺序执行 — 简单性和可调试性
- ✓ CLI subparsers — 可扩展命令结构
### Blockers/Concerns
[Issues that affect future work]
None yet.
None.
## Session Continuity
Last session: 2026-03-14T16:09:08.686Z
Stopped at: Completed 04-analysis-orchestration-04-05-PLAN.md
Resume file: None
**Next step:** `/gsd:new-milestone` — start v1.1 planning
+102
View File
@@ -0,0 +1,102 @@
# Requirements Archive: v1.0 Pipeline Architecture
**Archived:** 2026-03-14
**Status:** SHIPPED
For current requirements, see `.planning/REQUIREMENTS.md`.
---
# Requirements: kb-skills 工作流重构
**Defined:** 2026-03-13
**Core Value:** 可靠、可维护的处理管道 - 每个步骤独立、可验证、可恢复
## v1 Requirements
Requirements for initial release. Each maps to roadmap phases.
### Pipeline Model (管道模型)
- [x] **PIPE-01**: 统一的管道模型 - 每个步骤是独立管道,定义清晰的输入→处理→输出
- [x] **PIPE-02**: 步骤级状态管理 - 主要步骤完成后记录状态到 workflow_state.json,支持断点续传
- [x] **PIPE-03**: 统一 JSON Schema - 所有子技能遵守统一的 StepInput/StepOutput 格式规范
### Reliability (可靠性)
- [x] **REL-01**: 幂等执行保证 - 重复执行同一链接不会产生重复文件或重复处理
- [x] **REL-02**: 错误恢复策略 - 403/超时/网络错误有明确的降级策略和重试机制
- [x] **REL-03**: 清晰的流程定义 - 每个步骤的前置条件、输出格式、成功标准明确
### Validation (验证)
- [x] **VAL-01**: Schema 验证机制 - 每个步骤输出通过 Pydantic Schema 验证,失败则阻止进入下一步
### Maintainability (可维护性)
- [x] **MNT-01**: 代码结构清晰化 - 模块化设计,新人能快速理解和修改
- [x] **MNT-02**: 统一配置管理 - 环境变量集中在 ~/.kb_env,使用 pydantic-settings 管理
- [x] **MNT-03**: 结构化错误处理 - 错误包含上下文信息,便于调试和日志追踪
### Platform Support (平台支持)
- [x] **PLAT-01**: B站视频处理 - 支持 B站视频的元数据提取、字幕下载、语音识别、深度分析
- [x] **PLAT-02**: B站专栏处理 - 支持 B站专栏的文字提取和深度分析
- [x] **PLAT-03**: 知乎问答/专栏处理 - 支持知乎问答和专栏的文字提取和深度分析
## v2 Requirements
Deferred to future release. Tracked but not in current roadmap.
### Advanced Features
- **ADV-01**: 进度可见性 - 实时显示工作流执行进度和预计剩余时间
- **ADV-02**: 并行步骤执行 - 支持独立步骤的并行执行(当前为顺序执行)
- **ADV-03**: 说话者分离默认启用 - HF_TOKEN 配置后自动使用带说话者分离的 Whisper
### Extended Platforms
- **EXT-01**: 微信公众号处理 - 支持微信公众号文章的内容提取
- **EXT-02**: 小红书笔记处理 - 支持小红书笔记的图片下载和文字提取
## Out of Scope
Explicitly excluded. Documented to prevent scope creep.
| Feature | Reason |
|---------|--------|
| 实时/流式处理 | 批量处理即可,实时处理增加复杂性 |
| 并发限制 | 不需要限制并发数量,单机执行 |
| 用户界面 | 命令行运行,不需要 Web/UI |
| 多语言支持 | 中文即可,不需要国际化 |
| 分布式部署 | 单机执行,不需要分布式编排 |
| 工作流可视化 | 配置文件足够,不需要可视化编辑器 |
## Traceability
Which phases cover which requirements. Updated during roadmap creation.
| Requirement | Phase | Status |
|-------------|-------|--------|
| PIPE-01 | Phase 1 | Complete |
| PIPE-02 | Phase 1 | Complete |
| PIPE-03 | Phase 1 | Complete |
| REL-01 | Phase 1 | Complete |
| REL-02 | Phase 1 | Complete |
| REL-03 | Phase 1 | Complete |
| VAL-01 | Phase 1 | Complete |
| MNT-02 | Phase 1 | Complete |
| MNT-03 | Phase 1 | Complete |
| PLAT-01 | Phase 2 | Complete |
| PLAT-02 | Phase 2 | Complete |
| PLAT-03 | Phase 2 | Complete |
| MNT-01 | Phase 4 | Complete |
**Coverage:**
- v1 requirements: 12 total
- Mapped to phases: 12
- Unmapped: 0
---
*Requirements defined: 2026-03-13*
*Last updated: 2026-03-13 after roadmap creation*
+104
View File
@@ -0,0 +1,104 @@
# Roadmap: kb-skills 工作流重构
## Overview
将现有分散的技能模块重构为统一的管道处理系统。从基础设施(状态管理、Schema验证)开始,逐步集成平台技能(B站/知乎)、处理技能(ASR),最终形成完整的端到端工作流。每个阶段都交付可独立验证的能力,确保长时任务可恢复、可追溯。
## Phases
**Phase Numbering:**
- Integer phases (1, 2, 3): Planned milestone work
- Decimal phases (2.1, 2.2): Urgent insertions (marked with INSERTED)
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 集成、视频内容文字提取
- [x] **Phase 4: Analysis & Orchestration** - 深度分析集成、完整管道编排、端到端验证
## Phase Details
### Phase 1: Foundation
**Goal**: 建立可靠的基础设施,支持步骤级状态持久化、Schema验证和结构化错误处理
**Depends on**: Nothing (first phase)
**Requirements**: PIPE-01, PIPE-02, PIPE-03, REL-01, REL-02, REL-03, VAL-01, MNT-02, MNT-03
**Success Criteria** (what must be TRUE):
1. 执行任意步骤后,workflow_state.json 正确记录该步骤的完成状态
2. 中断后重新执行,已完成的步骤被跳过,从中断点继续
3. 每个步骤输出通过 Pydantic Schema 验证,格式错误阻止进入下一步
4. 所有环境变量集中在 ~/.kb_env,启动时验证必需变量
5. 错误信息包含步骤名、输入摘要、失败原因、可操作建议
**Plans:** 3 plans
Plans:
- [ ] 01-01-PLAN.md — State Manager: workflow_state.json 管理 (PIPE-02, REL-01, REL-03)
- [ ] 01-02-PLAN.md — Schema Registry: 统一输入输出格式定义 (PIPE-01, PIPE-03, VAL-01, REL-03)
- [x] 01-03-PLAN.md — Error Handler & Config: 结构化错误处理和统一配置 (REL-02, MNT-02, MNT-03)
### Phase 2: Platform Skills
**Goal**: 集成B站和知乎平台的内容获取能力,形成从链接到原始内容的完整流程
**Depends on**: Phase 1
**Requirements**: PLAT-01, PLAT-02, PLAT-03
**Success Criteria** (what must be TRUE):
1. 输入B站视频链接,自动提取元数据(标题、作者、时长等)并保存为结构化JSON
2. 输入B站专栏链接,自动提取文章内容并保存为Markdown
3. 输入知乎问答/专栏链接,自动提取内容和元数据
4. 重复执行同一链接,不产生重复文件(幂等)
5. 403/超时错误触发降级策略,记录失败原因到状态文件
**Plans:** 3 plans
Plans:
- [x] 02-01-PLAN.md — Link Parser & Idempotency Checker (PLAT-01, PLAT-02, PLAT-03)
- [x] 02-02-PLAN.md — Bilibili Adapter: 视频元数据 + 专栏内容 (PLAT-01, PLAT-02)
- [x] 02-03-PLAN.md — Zhihu Adapter: 问答 + 专栏内容 (PLAT-03)
### Phase 3: Processing Skills
**Goal**: 集成 ASR 处理能力,支持视频内容的文字提取(官方字幕优先,无字幕时使用 Whisper.cpp)
**Depends on**: Phase 2
**Requirements**: None (平台支持已在Phase 2覆盖)
**Success Criteria** (what must be TRUE):
1. B站视频自动下载字幕(优先官方字幕),无字幕时调用语音识别
2. Whisper识别完成后,转录结果保存为结构化JSON(含时间戳)
3. 处理结果自动关联到对应的内容目录
4. HF_TOKEN配置时自动启用带说话者分离的Whisper
**Plans:** 1 plan
Plans:
- [ ] 03-01-PLAN.md — ASRProcessor: 官方字幕下载 + Whisper.cpp 集成 + 说话者分离
### Phase 4: Analysis & Orchestration
**Goal**: 集成深度分析能力,完成端到端工作流编排,实现从链接到分析报告的全自动处理
**Depends on**: Phase 3
**Requirements**: MNT-01
**Success Criteria** (what must be TRUE):
1. 输入任意支持的平台链接,自动完成解析→下载→识别→分析全流程
2. 深度分析报告保存到对应内容目录,包含结构化的核心观点和洞察
3. 整个工作流可通过单个命令触发,无需手动干预
4. 新人能通过清晰的模块结构和文档理解代码,在30分钟内定位并修改任意步骤
5. 所有步骤的状态可通过 workflow_state.json 查询
**Plans**: TBD
Plans:
- [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
**Execution Order:**
Phases execute in numeric order: 1 → 2 → 3 → 4
| Phase | Plans Complete | Status | Completed |
|-------|----------------|--------|-----------|
| 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 | 5/5 | Complete | 04-01, 04-02, 04-03, 04-04, 04-05 |
---
*Roadmap created: 2026-03-13*
*Last updated: 2026-03-15 - Phase 4 complete (5 plans: 04-01 through 04-05)*
*Granularity: coarse (4 phases)*