Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 124 additions & 60 deletions .build-and-verify/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,19 @@
"id": "verify.local-quant-research-equivalence-immediate-17",
"command": "set PYTEST_DISABLE_PLUGIN_AUTOLOAD=1&& set NUMBA_DISABLE_JIT=1&& .\\.venv\\Scripts\\python.exe -m pytest \"tests\\local_quant_research\\test_local_research_equivalence.py::test_strategy_module_matches_frozen_equivalence_fixture[immediate-17-etf]\"",
"paths": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/fixtures/**",
"requirements*.txt"
],
"inputs": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/fixtures/**",
"requirements.txt",
"requirements-dev.txt"
],
Expand All @@ -31,15 +35,19 @@
"id": "verify.local-quant-research-equivalence-delayed-11",
"command": "set PYTEST_DISABLE_PLUGIN_AUTOLOAD=1&& set NUMBA_DISABLE_JIT=1&& .\\.venv\\Scripts\\python.exe -m pytest \"tests\\local_quant_research\\test_local_research_equivalence.py::test_strategy_module_matches_frozen_equivalence_fixture[delayed-11-etf-1d]\"",
"paths": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/fixtures/**",
"requirements*.txt"
],
"inputs": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/fixtures/**",
"requirements.txt",
"requirements-dev.txt"
],
Expand All @@ -50,15 +58,19 @@
"id": "verify.local-quant-research-equivalence-immediate-11",
"command": "set PYTEST_DISABLE_PLUGIN_AUTOLOAD=1&& set NUMBA_DISABLE_JIT=1&& .\\.venv\\Scripts\\python.exe -m pytest \"tests\\local_quant_research\\test_local_research_equivalence.py::test_strategy_module_matches_frozen_equivalence_fixture[immediate-11-etf]\"",
"paths": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/fixtures/**",
"requirements*.txt"
],
"inputs": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/fixtures/**",
"requirements.txt",
"requirements-dev.txt"
],
Expand All @@ -73,15 +85,17 @@
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/local_quant_research/test_turtle_e2e.py",
"tests/local_quant_research/fixtures/**",
"requirements*.txt"
],
"inputs": [
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/local_quant_research/test_turtle_e2e.py",
"tests/local_quant_research/fixtures/**",
"requirements.txt",
"requirements-dev.txt"
],
Expand All @@ -95,17 +109,19 @@
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/local_quant_research/test_generic_e2e.py",
"tests/local_quant_research/test_local_research_v2_e2e.py",
"tests/local_quant_research/fixtures/**",
"tests/quant_analysis/**",
"requirements*.txt"
],
"inputs": [
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/local_quant_research/test_generic_e2e.py",
"tests/local_quant_research/test_local_research_v2_e2e.py",
"tests/local_quant_research/fixtures/**",
"tests/quant_analysis/**",
"requirements.txt",
"requirements-dev.txt"
Expand All @@ -119,19 +135,23 @@
"paths": [
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/quant_analysis/**",
"scripts/research/result_package.py",
"scripts/research/analysis_data/**",
"scripts/research/local_quant_research/archive.py",
"scripts/research/local_quant_research/contracts.py",
"tests/local_quant_research/test_archive_promotion.py",
"tests/local_quant_research/test_result_package.py",
"requirements*.txt"
],
"inputs": [
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/quant_analysis/**",
"scripts/research/result_package.py",
"scripts/research/analysis_data/**",
"scripts/research/local_quant_research/archive.py",
"scripts/research/local_quant_research/contracts.py",
"tests/local_quant_research/test_archive_promotion.py",
"tests/local_quant_research/test_result_package.py",
"requirements.txt",
"requirements-dev.txt"
],
Expand Down Expand Up @@ -264,17 +284,23 @@
"id": "verify.local-quant-research-vectorbt-unit",
"command": "set PYTEST_DISABLE_PLUGIN_AUTOLOAD=1&& set NUMBA_DISABLE_JIT=1&& .\\.venv\\Scripts\\python.exe -m pytest tests\\local_quant_research tests\\quant_analysis --ignore=tests\\local_quant_research\\test_generic_e2e.py --ignore=tests\\local_quant_research\\test_turtle_e2e.py --ignore=tests\\local_quant_research\\test_local_research_v2_e2e.py -k \"turtle or vectorbt\"",
"paths": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/quant_analysis/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_turtle_*.py",
"tests/local_quant_research/test_vectorbt_runtime.py",
"tests/local_quant_research/fixtures/**",
"tests/quant_analysis/test_unified_analysis.py",
"requirements*.txt"
],
"inputs": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/quant_analysis/**",
"scripts/research/local_quant_research/**",
"scripts/research/market_data/**",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_turtle_*.py",
"tests/local_quant_research/test_vectorbt_runtime.py",
"tests/local_quant_research/fixtures/**",
"tests/quant_analysis/test_unified_analysis.py",
"requirements.txt",
"requirements-dev.txt"
],
Expand All @@ -289,9 +315,20 @@
".agents/skills/analyze-quant-robustness/**",
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/result_contract.py",
"scripts/research/result_package.py",
"scripts/research/analysis_data/**",
"scripts/research/market_data/benchmark_sets.py",
"tests/local_quant_research/test_analysis_manifest_schemas.py",
"tests/local_quant_research/test_contract_fixtures.py",
"tests/local_quant_research/test_evidence.py",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/test_runner.py",
"tests/local_quant_research/test_skill_contract.py",
"tests/local_quant_research/test_strategy_contract.py",
"tests/local_quant_research/test_strategy_identity.py",
"tests/local_quant_research/fixtures/**",
"tests/quant_analysis/**",
"requirements*.txt"
],
Expand All @@ -300,9 +337,20 @@
".agents/skills/analyze-quant-robustness/**",
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/**",
"scripts/research/result_contract.py",
"scripts/research/result_package.py",
"scripts/research/analysis_data/**",
"scripts/research/market_data/benchmark_sets.py",
"tests/local_quant_research/test_analysis_manifest_schemas.py",
"tests/local_quant_research/test_contract_fixtures.py",
"tests/local_quant_research/test_evidence.py",
"tests/local_quant_research/test_local_research_equivalence.py",
"tests/local_quant_research/test_runner.py",
"tests/local_quant_research/test_skill_contract.py",
"tests/local_quant_research/test_strategy_contract.py",
"tests/local_quant_research/test_strategy_identity.py",
"tests/local_quant_research/fixtures/**",
"tests/quant_analysis/**",
"requirements.txt",
"requirements-dev.txt"
Expand All @@ -314,15 +362,17 @@
"id": "verify.local-quant-research-jit",
"command": "set PYTEST_DISABLE_PLUGIN_AUTOLOAD=1&& .\\.venv\\Scripts\\python.exe -m pytest tests\\local_quant_research\\test_turtle_vectorbt_callbacks.py::test_group_and_portfolio_unit_scales_follow_confirmed_formula",
"paths": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/vectorbt_runtime.py",
"scripts/research/local_quant_research/contracts.py",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_turtle_vectorbt_callbacks.py",
"requirements*.txt"
],
"inputs": [
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"scripts/research/local_quant_research/vectorbt_runtime.py",
"scripts/research/local_quant_research/contracts.py",
"joinquant/strategies/strategy-003/research/turtle_etf/**",
"tests/local_quant_research/test_turtle_vectorbt_callbacks.py",
"requirements.txt",
"requirements-dev.txt"
],
Expand All @@ -335,19 +385,33 @@
"paths": [
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/quant_analysis/**",
"scripts/research/market_data/**",
"scripts/research/analysis_data/**",
"scripts/research/result_package.py",
"scripts/research/local_quant_research/contracts.py",
"tests/local_quant_research/test_analysis_data_views.py",
"tests/local_quant_research/test_benchmark_set_contract.py",
"tests/local_quant_research/test_joinquant_export.py",
"tests/local_quant_research/test_market_data_candidate_screen.py",
"tests/local_quant_research/test_market_data_economic_returns.py",
"tests/local_quant_research/test_market_data_query.py",
"tests/local_quant_research/test_market_data_storage.py",
"requirements*.txt"
],
"inputs": [
".agents/skills/run-local-quant-research/**",
".claude/skills/run-local-quant-research",
"scripts/research/**",
"joinquant/strategies/strategy-003/research/**",
"tests/local_quant_research/**",
"tests/quant_analysis/**",
"scripts/research/market_data/**",
"scripts/research/analysis_data/**",
"scripts/research/result_package.py",
"scripts/research/local_quant_research/contracts.py",
"tests/local_quant_research/test_analysis_data_views.py",
"tests/local_quant_research/test_benchmark_set_contract.py",
"tests/local_quant_research/test_joinquant_export.py",
"tests/local_quant_research/test_market_data_candidate_screen.py",
"tests/local_quant_research/test_market_data_economic_returns.py",
"tests/local_quant_research/test_market_data_query.py",
"tests/local_quant_research/test_market_data_storage.py",
"requirements.txt",
"requirements-dev.txt"
],
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/full-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,6 @@ jobs:
with:
python-version: "3.12"

- name: Install OpenSpec
run: npm install -g @fission-ai/openspec@1.4.1

- name: Install dependencies
shell: pwsh
run: |
Expand Down
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

### Issue tracker(问题追踪器)

问题以本地 Markdown(标记文档)文件形式保存在 `openspec/changes/<change-name>/`。详见 `docs/agents/issue-tracker.md`。
问题以本地 Markdown(标记文档)文件形式保存在 `myspec/changes/<change-name>/`。详见 `docs/agents/issue-tracker.md`。

### Triage labels(问题分流标签)

Expand Down
4 changes: 2 additions & 2 deletions docs/agents/domain.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## 调查前阅读

- 仓库根目录的 `CONTEXT.md`
- `openspec/specs/` 中与当前工作相关的规格
- `myspec/specs/` 中与当前工作相关的规格

如果这些文件不存在,直接继续,不要报告缺失,也不要预先建议创建。只有在领域术语或规格确实得到确认后,才创建领域文档。

Expand All @@ -16,7 +16,7 @@
```text
/
├── CONTEXT.md
├── openspec/
├── myspec/
│ ├── specs/
│ └── changes/
├── joinquant/
Expand Down
10 changes: 5 additions & 5 deletions docs/agents/issue-tracker.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# 问题追踪器:本地 Markdown

本仓库的工作项以 Markdown 文件形式保存在 `openspec/changes/` 下。
本仓库的工作项以 Markdown 文件形式保存在 `myspec/changes/` 下。

## 变更目录结构

每项变更使用以下结构:

```text
openspec/changes/<change-name>/
myspec/changes/<change-name>/
├── spec.md
└── issues/
├── 01-<ticket-name>.md
Expand All @@ -31,14 +31,14 @@ YYYY-MM-DD-kebab-case-change-name
2026-07-28-improve-local-research
```

使用当前本地日期作为前缀,后接简短、小写的 kebab-case(短横线命名)描述。创建目录前,必须确认名称符合 `openspec/changes/` 的要求,并且不存在同名目录。
使用当前本地日期作为前缀,后接简短、小写的 kebab-case(短横线命名)描述。创建目录前,必须确认名称符合 `myspec/changes/` 的要求,并且不存在同名目录。

## 规格

当技能要求将规格发布到问题追踪器时,写入:

```text
openspec/changes/<change-name>/spec.md
myspec/changes/<change-name>/spec.md
```

未经确认,不得覆盖已有规格。
Expand All @@ -48,7 +48,7 @@ openspec/changes/<change-name>/spec.md
当技能要求发布票据时,每张票据分别写入:

```text
openspec/changes/<change-name>/issues/
myspec/changes/<change-name>/issues/
```

票据从 `01` 开始,按照依赖顺序编号;前置票据排在被阻塞票据之前。每张票据都要记录其状态和前置票据。
Expand Down
Loading
Loading