fix(backtest): result_id 用 DB 行 id + equity/trades 落 JSON(S1.1+S1.2)

- BacktestResult 加 id;save_result 设 result.id=lastrowid(修 get_result bug)
- runner._on_done 用 result.id(getattr 兜底 FactorReport)
- cta_engine 构建 equity_curve/trades DataFrame;save 传 file_dir
- result_store parquet→JSON(去 pyarrow 依赖,本机/容器都稳)
- 16 tests passed
This commit is contained in:
2026-07-07 06:06:10 +08:00
parent 198321c4a9
commit 510f77e6ea
13 changed files with 904 additions and 13 deletions
+286
View File
@@ -0,0 +1,286 @@
---
name: superpowers
description: "Main Agent Orchestrator: Linus三问 → superpowers:brainstorming → Gitea Issue → Sub Agents → 三向一致性检查"
---
# /superpowers - Main Agent 任务编排
Main Agent 工作流:编排 Sub Agents 使用 Superpowers 原生技能完成任务,通过 Gitea 协作追踪。
## 使用方法
```
/superpowers # 触发 Main Agent 工作流
/superpowers "完成用户登录功能" # 指定任务
```
## Main Agent 工作流
### Step 1: Linus 三问过滤
工程审慎决策框架,过滤伪需求和过度设计:
| 问题 | 判断标准 | 拒绝条件 |
|------|---------|----------|
| **这是现实问题还是想象问题?** | 有明确证据或用户反馈 | "可能需要"、"也许将来" |
| **这个问题真的需要解决吗?** | 影响核心功能或用户体验 | 边缘场景、伪需求 |
| **这个方案真的能解决问题吗?** | 有明确验证路径 | 理论上可行但无验证 |
**拒绝条件时**:向用户澄清或拒绝,不继续编排。
### Step 2: 调用 superpowers:brainstorming
**调用技能:** `Skill("superpowers:brainstorming")`
**探索内容**
- 用户意图和需求边界
- 2-3 种方案及权衡
- 设计考虑和约束
**输出**`docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md`
### Step 3: 任务分析
分析任务并制定编排策略:
| 复杂度 | 特征 | 编排策略 |
|--------|------|----------|
| **简单** | 明确的 bug 修复、小改动 | Execute → Review → 验收 |
| **中等** | 单一功能实现 | Brainstorming → Execute → Review → 验收 |
| **复杂** | 多功能、跨领域 | Brainstorming → Planning → Execute → Review → Test → 验收 |
| **调试** | 问题定位和修复 | Systematic-debugging → Execute → Test → 验收 |
**确定所需 Sub Agents**Execute、Review、Test
### Step 4: 创建 Gitea Issue
**标题格式**`[sanguo_vnpy_v2] 功能描述`
**内容结构**
```markdown
## 项目信息
- Spec: docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md
- 复杂度: 简单/中等/复杂
## 执行清单
### Execute Sub Agent
- 使用技能: superpowers:writing-plans → superpowers:subagent-driven-development
- 完成标记: @main-agent ✅ EXECUTE_DONE
### Review Sub Agent
- 使用技能: superpowers:requesting-code-review
- 完成标记: @main-agent ✅ REVIEW_DONE verdict=approved
### Test Sub Agent (可选)
- 使用技能: superpowers:test-driven-development
- 完成标记: @main-agent ✅ TEST_DONE result=passed
### Main Agent 验收
- 三向一致性检查
- 完成标记: @main-agent ✅ VERIFICATION_PASSED
```
### Step 5: 编排 Sub Agents
#### Execute Agent
```
Agent 工具 dispatch:
- spec 文档路径
- 任务范围
- 使用技能: superpowers:writing-plans → superpowers:subagent-driven-development
完成标记: @main-agent ✅ EXECUTE_DONE
```
#### Review Agent
```
Agent 工具 dispatch:
- spec 文档路径
- plan 文档路径
- Git diff
- 使用技能: superpowers:requesting-code-review
完成标记: @main-agent ✅ REVIEW_DONE verdict=approved
```
#### Test Agent (可选)
```
Agent 工具 dispatch:
- spec 文档路径
- 功能代码路径
- 使用技能: superpowers:test-driven-development
完成标记: @main-agent ✅ TEST_DONE result=passed
```
### Step 6: 等待 Sub Agent 完成标记
监控 Gitea Issue Comments,解析完成标记:
```javascript
// 解析完成标记
const executeDone = comments.some(c => c.body.includes('@main-agent ✅ EXECUTE_DONE'))
const reviewDone = comments.some(c => c.body.includes('@main-agent ✅ REVIEW_DONE'))
const testDone = comments.some(c => c.body.includes('@main-agent ✅ TEST_DONE'))
// 根据状态编排下一阶段
if (executeDone && !reviewDone) {
// 启动 Review
dispatchReviewAgent()
}
```
### Step 7: 三向一致性检查
对照三向检查,逐项验证:
```
┌─────────────────────────────────────────────────────────────┐
│ 验收:三向一致性检查 │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 需求 │ ←→ │ 设计 │ ←→ │ 编码 │ │
│ │ (spec) │ │ (plan) │ │ (code) │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ ↑ ↑ ↑ │
│ └──────────────┴──────────────┘ │
│ 一致性检查 │
└─────────────────────────────────────────────────────────────┘
```
**检查方法**
- 需求 (spec) → 设计 (plan)spec 是否完整覆盖需求?
- 设计 (plan) → 编码 (code)code 是否正确实现 plan
- 需求 (spec) → 编码 (code)code 是否满足 spec
**偏差处理**
```
发现偏差 → 发布 @main-agent ❌ CONSISTENCY_ISSUE
通知相关 Sub Agent
Sub Agent 修复
重新发布完成标记
Main Agent 重新验收
```
### Step 8: 调用 superpowers:finishing-a-development-branch
**调用技能:** `Skill("superpowers:finishing-a-development-branch")`
**流程**
1. 验证测试
2. 检测环境(normal repo / worktree / detached HEAD
3. 呈现选项:
- 合并到 base-branch 本地
- 推送并创建 Pull Request
- 保持分支原样
- 丢弃工作
4. 执行选择
5. 清理工作区
### Step 9: 向用户汇报
**汇报内容**
- 整合 Sub Agent 结果
- 三向一致性检查结果
- 最终完成状态
## Sub Agent 技能映射
| Main Agent 步骤 | Sub Agent 使用的技能 | 输出 |
|----------------|---------------------|------|
| 需求探索 | `superpowers:brainstorming` | spec 文档 |
| 编写计划 | `superpowers:writing-plans` | plan 文档 |
| 执行实现 | `superpowers:subagent-driven-development``superpowers:executing-plans` | 代码 + commit |
| 代码审查 | `superpowers:requesting-code-review` | 审查报告 |
| 系统调试 | `superpowers:systematic-debugging` | 根本原因 |
| 完成收尾 | `superpowers:finishing-a-development-branch` | 合并/PR/清理 |
## Gitea 协作约定
### Comment 标记格式
| Sub Agent | 完成标记格式 | 说明 |
|-----------|-------------|------|
| Execute | `@main-agent ✅ EXECUTE_DONE` | 包含交付物清单 |
| Review | `@main-agent ✅ REVIEW_DONE verdict=approved` | 包含检查结果 |
| Test | `@main-agent ✅ TEST_DONE result=passed` | 包含测试结果 |
| Main | `@main-agent ✅ VERIFICATION_PASSED` | 包含三向检查结果 |
### 偏差报告格式
```markdown
@main-agent ❌ **CONSISTENCY_ISSUE**
## 发现偏差
### 问题: 需求 (spec) → 编码 (code) 偏差
**需求**: "..."
**代码**: "..."
### 处理要求
1. ...
2. ...
3. 重新提交 review
---
**标签**: needs-consistency-fix 🔴
```
## 严格限制
-**Main Agent 不亲自编写代码**
-**不亲自执行具体实现**
-**不跳过 Linus 三问**
-**不跳过三向一致性检查**
-**只负责编排、协调、验收**
## When Invoked(调用时必须执行)
1. **确认任务**:如果用户没有指定任务,询问要完成什么
2. **Linus 三问**:对任务进行审慎过滤
3. **调用 superpowers:brainstorming**:输出 spec 文档
4. **任务分析**:评估复杂度,确定所需的 Sub Agents
5. **创建 Gitea Issue**:建立协作中心
6. **编排 Sub Agents**:通过 Agent 工具安排执行
7. **等待完成标记**:监控 Gitea Comments
8. **三向一致性检查**:验证 spec ↔ plan ↔ code
9. **调用 superpowers:finishing-a-development-branch**:完成收尾
10. **汇报结果**:向用户汇报最终结果
## 工作产物
```
.claude/workdir/
├── BRAINSTORM.md # Linus 三问分析结果
├── SPEC_REF.md # Spec 文档引用
├── IMPLEMENTATION_PLAN.md # 任务分析与 Sub Agent 分配
├── GITEA_ISSUE.md # Gitea Issue 内容备份
├── ORCHESTRATION_LOG.md # Sub Agent 编排日志
└── COMPLETION_SUMMARY.md # 最终完成总结
docs/superpowers/
├── specs/ # 由 brainstorming 生成
│ └── YYYY-MM-DD-<topic>-design.md
└── plans/ # 由 writing-plans 生成
└── YYYY-MM-DD-<feature-name>.md
```
## 与原始 Superpowers 的关系
此技能整合:
- **Main Agent 编排模式**Linus 三问 + 任务编排 + 三向一致性检查)
- **Superpowers 原生工作流**brainstorming → writing-plans → executing → review → finishing
- **Gitea 协作机制**Issue + Comment 标记)
Main Agent 不执行实现,只编排 Sub Agents 使用 Superpowers 技能完成任务。
## 参考文档
- sanguo_moziplus_v3 设计文档 v0.6: `docs/design/07-design-v0.5-dynamic-orchestration-integrated.md`
- Superpowers 原生工作流规范: `~/.claude/skills/superpowers/`
@@ -0,0 +1,78 @@
---
name: superpowers
description: "Complete Superpowers 5-step workflow: brainstorming → planning → execution → review → verification. Use /superpowers to start the full workflow for any task."
---
# /superpowers - Superpowers 完整工作流
自动化执行 Superpowers 五步法,确保任务从需求到完成的完整质量保障。
## 使用方法
```
/superpowers # 对当前任务执行完整工作流
/superpowers "完成用户登录功能" # 对指定任务执行工作流
/superpowers --quick "修复登录 bug" # 快速模式(简化步骤)
/superpowers --debug "支付失败问题" # 调试模式(强化 systematic-debugging
```
## 工作流步骤
### Step 1: Brainstorming (需求探索)
- 使用 `superpowers:brainstorming` 技能
- 探索用户意图、需求边界、设计考虑
- 输出:需求文档草案
### Step 2: Writing Plans (编写计划)
- 使用 `superpowers:writing-plans` 技能
- 编写详细的实现计划
- 输出:IMPLEMENTATION_PLAN.md
### Step 3: Executing Plans (执行计划)
- 使用 `superpowers:executing-plans` 或 `superpowers:subagent-driven-development` 技能
- 按计划执行实现
- 输出:代码变更
### Step 4: Code Review (代码审查)
- 使用 `superpowers:requesting-code-review` 技能
- 验证实现符合需求
- 输出:审查报告
### Step 5: Verification & Finishing (验证完成)
- 使用 `superpowers:verification-before-completion` 技能
- 使用 `superpowers:finishing-a-development-branch` 技能
- 确认完成,决定合并方式
- 输出:完成报告
## 模式说明
| 模式 | 说明 |
|------|------|
| 默认模式 | 完整 5 步工作流 |
| --quick | 简化版:合并 brainstorming + planning,快速审查 |
| --debug | 强化 systematic-debugging,专注于问题定位和修复 |
| --review-only | 仅执行代码审查步骤 |
## 工作产物
所有工作产物保存在 `.claude/workdir/` 目录:
```
.claude/workdir/
├── BRAINSTORM.md # 需求探索结果
├── IMPLEMENTATION_PLAN.md # 实现计划
├── EXECUTION_LOG.md # 执行日志
├── REVIEW_REPORT.md # 代码审查报告
└── COMPLETION_SUMMARY.md # 完成总结
```
## When Invoked (调用时必须执行)
1. **确认任务**:如果用户没有指定任务,询问要完成什么
2. **选择模式**:根据用户指定的 flag 选择对应模式
3. **按步骤执行**:严格按照 5 步顺序执行,不可跳过
4. **记录进度**:每步完成后更新工作产物
5. **汇报结果**:最终向用户汇报完整工作流的结果
## 与 CLAUDE.md 的关系
此技能遵循项目 `.claude/CLAUDE.md` 中定义的 Superpowers 五技能体系和工作流程。