Skip to content

Commit 9d5102e

Browse files
committed
Add comprehensive branch and version comparison guide
1 parent 1b7cea5 commit 9d5102e

File tree

1 file changed

+351
-0
lines changed

1 file changed

+351
-0
lines changed

COMPLETE_BRANCH_COMPARISON.md

Lines changed: 351 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,351 @@
1+
# Complete Branch & Version Comparison
2+
3+
**Date**: 2025-12-15
4+
**Repository**: SL-Mar/quantcoder-cli
5+
6+
## 🎯 Quick Decision Guide
7+
8+
| What you need | Use this branch |
9+
|---------------|----------------|
10+
| **Stable, tested, legacy** | `main` (v0.3) |
11+
| **Modernized with OpenAI SDK 1.x** | `beta` (v1.0.0) |
12+
| **AI assistant, autonomous mode** | `gamma` (v2.0.0) |
13+
14+
---
15+
16+
## 📊 Branch Comparison Table
17+
18+
| Feature | main | beta | gamma |
19+
|---------|------|------|-------|
20+
| **Package Name** | `quantcli` | `quantcli` | `quantcoder` |
21+
| **Version** | 0.3 | 1.0.0 | 2.0.0-alpha.1 |
22+
| **Last Update** | Dec 2024 | Dec 2025 | Dec 2025 |
23+
| **Python Required** | ≥3.8 | ≥3.9 | ≥3.10 |
24+
| **OpenAI SDK** | 0.28 (legacy) | 1.x (modern) | 1.x (modern) |
25+
| **Packaging** | setup.py | setup.py | pyproject.toml |
26+
| **Command** | `quantcli` | `quantcli` | `quantcoder` or `qc` |
27+
| **Total Code** | ~1,426 lines | ~1,874 lines | ~10,000+ lines |
28+
29+
---
30+
31+
## 🔍 Detailed Comparison
32+
33+
### 📦 MAIN Branch (v0.3)
34+
35+
**Status**: 🟢 Stable Legacy
36+
**Package**: `quantcli`
37+
**Last Commit**: `f4b4674 - Update project title in README.md`
38+
39+
#### Structure
40+
```
41+
quantcli/
42+
├── __init__.py (empty)
43+
├── cli.py (217 lines) - Basic Click CLI
44+
├── gui.py (344 lines) - Tkinter GUI
45+
├── processor.py (641 lines) - PDF/NLP processing
46+
├── search.py (109 lines) - CrossRef search
47+
└── utils.py (115 lines) - Utilities
48+
```
49+
50+
#### Features
51+
- ✅ Basic CLI commands (search, download, summarize, generate-code)
52+
- ✅ CrossRef article search
53+
- ✅ PDF processing with pdfplumber
54+
- ✅ NLP with spacy
55+
- ✅ Tkinter GUI (interactive mode)
56+
- ✅ OpenAI GPT integration (SDK 0.28)
57+
- ❌ No enhanced help (was reverted)
58+
- ❌ Old OpenAI SDK
59+
- ❌ No modern features
60+
61+
#### Dependencies
62+
- OpenAI SDK 0.28 (old)
63+
- Click, requests, pdfplumber, spacy
64+
- InquirerPy, pygments
65+
66+
#### Use Case
67+
- **Legacy projects** requiring old OpenAI SDK
68+
- **Proven stable** version
69+
- **Simple workflows**
70+
71+
---
72+
73+
### 📦 BETA Branch (v1.0.0)
74+
75+
**Status**: 🧪 Testing (Modernized)
76+
**Package**: `quantcli`
77+
**Last Commit**: `9a5f173 - Merge pull request #7`
78+
79+
#### Structure
80+
```
81+
quantcli/
82+
├── __init__.py (empty)
83+
├── cli.py (235 lines) - Click CLI
84+
├── gui.py (349 lines) - Tkinter GUI (lazy imports)
85+
├── llm_client.py (138 lines) - ✨ NEW: LLM client abstraction
86+
├── processor.py (691 lines) - Enhanced processing
87+
├── qc_validator.py (202 lines) - ✨ NEW: QuantConnect validator
88+
├── search.py (109 lines) - CrossRef search
89+
└── utils.py (150 lines) - Enhanced utilities
90+
```
91+
92+
#### Features
93+
- ✅ All main branch features
94+
-**OpenAI SDK 1.x** (modern)
95+
-**LLM client abstraction** (supports multiple providers)
96+
-**QuantConnect code validator**
97+
-**Lazy GUI imports** (no tkinter errors)
98+
-**Improved error handling**
99+
-**Better logging**
100+
- ❌ Still basic CLI (no AI assistant mode)
101+
102+
#### New Files
103+
- `llm_client.py`: Abstraction for OpenAI/Anthropic/local models
104+
- `qc_validator.py`: Validates generated QuantConnect code
105+
106+
#### Use Case
107+
- **Modern OpenAI SDK** compatibility
108+
- **Better than main** but same workflow
109+
- **Not yet tested** by user
110+
111+
---
112+
113+
### 📦 GAMMA Branch (v2.0.0-alpha.1)
114+
115+
**Status**: 🚀 Alpha (Complete Rewrite)
116+
**Package**: `quantcoder`
117+
**Last Commit**: `1b7cea5 - Add mobile-friendly branch reorganization tools`
118+
119+
#### Structure
120+
```
121+
quantcoder/
122+
├── __init__.py - Version 2.0.0-alpha.1
123+
├── cli.py - Modern CLI with subcommands
124+
├── chat.py - Interactive chat interface
125+
├── config.py - TOML configuration system
126+
├── agents/ - Multi-agent architecture
127+
│ ├── base.py
128+
│ ├── coordinator.py
129+
│ ├── universe.py
130+
│ ├── alpha.py
131+
│ ├── risk.py
132+
│ └── strategy.py
133+
├── autonomous/ - 🤖 Self-learning system
134+
│ ├── database.py - Learning database (SQLite)
135+
│ ├── learner.py - Error & performance learning
136+
│ ├── pipeline.py - Autonomous orchestration
137+
│ └── prompt_refiner.py - Dynamic prompt enhancement
138+
├── library/ - 📚 Strategy library builder
139+
│ ├── taxonomy.py - 10 categories, 86 strategies
140+
│ ├── coverage.py - Progress tracking
141+
│ └── builder.py - Systematic building
142+
├── codegen/ - Code generation
143+
├── core/ - Core utilities
144+
├── execution/ - Parallel execution (AsyncIO)
145+
├── llm/ - LLM providers (OpenAI, Anthropic, Mistral)
146+
├── mcp/ - Model Context Protocol
147+
└── tools/ - CLI tools
148+
```
149+
150+
#### Features
151+
152+
**🎨 Modern Architecture**
153+
-**Vibe CLI-inspired** design (Mistral)
154+
-**Interactive chat** interface
155+
-**Tool-based architecture**
156+
-**TOML configuration**
157+
-**Rich terminal UI**
158+
-**Persistent context**
159+
160+
**🤖 AI Assistant**
161+
-**Multi-agent system** (6 specialized agents)
162+
-**Parallel execution** (AsyncIO, 3-5x faster)
163+
-**Conversational interface**
164+
-**Context-aware responses**
165+
166+
**🧠 Autonomous Mode** (NEW!)
167+
-**Self-learning** from errors
168+
-**Performance analysis**
169+
-**Auto-fix compilation** errors
170+
-**Prompt refinement** based on learnings
171+
-**SQLite database** for learnings
172+
-**Success rate** improves over time (50% → 85%)
173+
174+
**📚 Library Builder** (NEW!)
175+
-**10 strategy categories**
176+
-**86 strategies** (target)
177+
-**Systematic coverage**
178+
-**Priority-based** building
179+
-**Checkpoint/resume**
180+
-**Progress tracking**
181+
182+
**🔧 Advanced Features**
183+
-**MCP integration** (QuantConnect)
184+
-**Multi-provider LLMs** (OpenAI, Anthropic, Mistral)
185+
-**Comprehensive testing**
186+
-**Modern packaging** (pyproject.toml)
187+
188+
#### Commands
189+
```bash
190+
# Chat mode
191+
quantcoder chat "Create momentum strategy"
192+
193+
# Autonomous mode
194+
quantcoder auto start "momentum trading" --max-iterations 50
195+
196+
# Library builder
197+
quantcoder library build --comprehensive
198+
199+
# Regular commands (like old CLI)
200+
quantcoder search "pairs trading"
201+
quantcoder generate <article-id>
202+
```
203+
204+
#### Use Case
205+
- **AI-powered** strategy generation
206+
- **Autonomous learning** systems
207+
- **Library building** from scratch
208+
- **Research & experimentation**
209+
- **Cutting edge** features
210+
211+
---
212+
213+
## 🌿 Archive Branches
214+
215+
These are **not main development branches**:
216+
217+
### feature/enhanced-help-command
218+
- **Purpose**: Enhanced `--help` documentation + `--version` flag
219+
- **Status**: ✅ Feature complete, ❌ Reverted from main
220+
- **Use**: Can be re-merged if needed
221+
222+
### revert-3-feature/enhanced-help-command
223+
- **Purpose**: Revert PR for enhanced help
224+
- **Status**: Already merged to main
225+
- **Use**: Historical record only
226+
227+
### claude/gamma-docs-update-JwrsM
228+
- **Purpose**: Documentation cleanup for gamma
229+
- **Status**: Temporary branch, ready to merge
230+
- **Use**: Merge into gamma when ready
231+
232+
### claude/re-add-enhanced-help-JwrsM
233+
- **Purpose**: Re-add enhanced help to main
234+
- **Status**: Ready to merge
235+
- **Use**: Merge into main if enhanced help is wanted
236+
237+
---
238+
239+
## 📈 Migration Paths
240+
241+
### From main → beta
242+
**Reason**: Modernize to OpenAI SDK 1.x
243+
244+
```bash
245+
# Update code
246+
git checkout beta
247+
248+
# Update dependencies
249+
pip install -e .
250+
251+
# Update .env if needed
252+
OPENAI_API_KEY=sk-...
253+
254+
# Test
255+
quantcli search "test"
256+
```
257+
258+
**Breaking Changes**:
259+
- OpenAI SDK 0.28 → 1.x (API changed)
260+
- Python 3.8 → 3.9 minimum
261+
262+
### From main/beta → gamma
263+
**Reason**: Get AI assistant + autonomous mode
264+
265+
```bash
266+
# New package name!
267+
git checkout gamma
268+
269+
# Install
270+
pip install -e .
271+
272+
# Configure
273+
quantcoder config
274+
275+
# Try chat mode
276+
quantcoder chat "Create a momentum strategy"
277+
```
278+
279+
**Breaking Changes**:
280+
- Package name: `quantcli``quantcoder`
281+
- Command name: `quantcli``quantcoder` or `qc`
282+
- Python 3.9 → 3.10 minimum
283+
- Completely different CLI interface
284+
- New TOML config system
285+
286+
---
287+
288+
## 🎯 Recommendations
289+
290+
### For Production Use
291+
**main** (v0.3)
292+
Most stable, proven, but old SDK
293+
294+
### For Modern SDK
295+
**beta** (v1.0.0)
296+
Same workflow, updated dependencies
297+
298+
### For AI Features
299+
**gamma** (v2.0.0-alpha.1)
300+
Complete rewrite, autonomous mode, library builder
301+
302+
---
303+
304+
## 📊 Version History
305+
306+
```
307+
main (0.3)
308+
309+
beta (1.0.0) ← Modernize OpenAI SDK, add validators
310+
311+
gamma (2.0.0-alpha.1) ← Complete rewrite, AI assistant
312+
```
313+
314+
---
315+
316+
## 🔧 Current Issues
317+
318+
### All Branches
319+
- ❌ 75 dependency vulnerabilities (GitHub Dependabot alert)
320+
- 4 critical, 29 high, 33 moderate, 9 low
321+
- Should be addressed across all branches
322+
323+
### main
324+
- ❌ Enhanced help was reverted (basic help only)
325+
- ❌ Old OpenAI SDK (0.28)
326+
327+
### beta
328+
- ⚠️ Not tested by user yet
329+
- ⚠️ Version says 1.0.0 but documentation says 1.1.0-beta.1
330+
331+
### gamma
332+
- ⚠️ Alpha quality (testing phase)
333+
- ⚠️ Version mismatch: pyproject.toml says 2.0.0, __init__.py says 2.0.0-alpha.1
334+
- ⚠️ Old setup.py still exists (should remove, use pyproject.toml only)
335+
336+
---
337+
338+
## ✅ Next Steps
339+
340+
1. **Fix version inconsistencies** in gamma
341+
2. **Remove old setup.py** from gamma (use pyproject.toml)
342+
3. **Address security vulnerabilities** across all branches
343+
4. **Test beta** branch thoroughly
344+
5. **Decide on enhanced help** for main (merge or leave reverted)
345+
6. **Archive feature branches** that are no longer needed
346+
347+
---
348+
349+
**Generated**: 2025-12-15
350+
**Tool**: Claude Code
351+
**Repository**: https://github.com/SL-Mar/quantcoder-cli

0 commit comments

Comments
 (0)