|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to Darkzloop will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [0.6.0] - 2026-01-13 |
| 9 | + |
| 10 | +### 🎉 Initial Public Release |
| 11 | + |
| 12 | +**Darkzloop is now model-agnostic!** Use your existing Claude, Copilot, or Ollama subscriptions. |
| 13 | + |
| 14 | +### Added |
| 15 | + |
| 16 | +#### Core Engine |
| 17 | +- **Finite State Machine (FSM)** - 7-state machine with strict transitions |
| 18 | + - States: IDLE → PLANNING → EXECUTING → TESTING → REMEDIATING → BLOCKED → DONE |
| 19 | + - Per-task retry tracking (circuit breaker per task) |
| 20 | + - Global consecutive failure tracking |
| 21 | + - Max iterations limit (default: 100) |
| 22 | + |
| 23 | +- **Manifest Protocol** - Read-before-write enforcement |
| 24 | + - Files must be read before they can be modified |
| 25 | + - Context window tracking (re-read required if file pruned) |
| 26 | + - Sensitive file prompts (config/secrets protection) |
| 27 | + - Full access audit trail |
| 28 | + |
| 29 | +- **Tiered Quality Gates** |
| 30 | + - Tier 1: Must-pass (cargo check, cargo test) |
| 31 | + - Tier 2: Should-pass with auto-fix (cargo clippy → cargo fmt) |
| 32 | + - Tier 3: Optional (cargo audit) |
| 33 | + |
| 34 | +- **Semantic Expansion** |
| 35 | + - 50+ built-in synonym clusters |
| 36 | + - Project-specific learning glossary |
| 37 | + - Codebase term scanning |
| 38 | + - No external API calls (100% local) |
| 39 | + |
| 40 | +#### CLI Interface |
| 41 | +- `darkzloop init` - Auto-detect stack (Rust/Python/Node/Go) |
| 42 | +- `darkzloop plan` - Generate execution plan with semantic expansion |
| 43 | +- `darkzloop run` - Execute with FSM control and safety checks |
| 44 | +- `darkzloop fix "..."` - One-shot fixes without manual spec |
| 45 | +- `darkzloop status` - Show current loop state |
| 46 | +- `darkzloop graph` - Visualize task DAG (ASCII/HTML/Mermaid) |
| 47 | +- `darkzloop config native <tool>` - Configure BYOA mode |
| 48 | +- `darkzloop config api <provider>` - Configure direct API |
| 49 | +- `darkzloop doctor` - Environment diagnostics |
| 50 | + |
| 51 | +#### BYOA (Bring Your Own Auth) |
| 52 | +- **Shell Executor** - Pipe prompts to native CLI tools |
| 53 | + - Claude CLI (`claude --print`) |
| 54 | + - GitHub Copilot (`gh copilot suggest`) |
| 55 | + - Ollama (`ollama run llama3.1`) |
| 56 | + - llm CLI (`llm -m claude-3-sonnet`) |
| 57 | + - Aider (`aider --message`) |
| 58 | + - Any custom command |
| 59 | + |
| 60 | +- **12 Native Tool Presets** |
| 61 | + - `claude`, `claude-json` |
| 62 | + - `gh-copilot` |
| 63 | + - `ollama`, `ollama-codellama`, `ollama-deepseek` |
| 64 | + - `llm`, `llm-gpt4`, `llm-gemini` |
| 65 | + - `aider` |
| 66 | + - `openai`, `anthropic` |
| 67 | + |
| 68 | +- **4-Strategy JSON Extraction** - Handle chatty CLI output |
| 69 | + - Markdown JSON blocks |
| 70 | + - Generic code blocks |
| 71 | + - Balanced brace matching |
| 72 | + - Greedy extraction (last resort) |
| 73 | + |
| 74 | +#### Safety Features |
| 75 | +- Git clean check before execution |
| 76 | +- Automatic backup branches (`darkzloop-backup-YYYYMMDD-HHMMSS`) |
| 77 | +- Dry run mode (`--dry-run`) |
| 78 | +- Attended mode (approval at each step) |
| 79 | + |
| 80 | +### Technical Details |
| 81 | +- Python 3.10+ required |
| 82 | +- ~4,500 lines across 22 modules |
| 83 | +- Zero required API keys (BYOA mode) |
| 84 | +- MIT licensed |
| 85 | + |
| 86 | +--- |
| 87 | + |
| 88 | +## Philosophy |
| 89 | + |
| 90 | +> *"The goal is not to build a smarter agent. It's to build a more disciplined one."* |
| 91 | +
|
| 92 | +Darkzloop implements the **Ralph Loop** methodology: |
| 93 | +1. **Spec** - Define what you want (the "Pin") |
| 94 | +2. **Plan** - Break into tasks with dependencies (DAG) |
| 95 | +3. **Execute** - Agent works within strict boundaries |
| 96 | +4. **Verify** - Tests must pass before accepting changes |
| 97 | +5. **Learn** - Build project-specific vocabulary over time |
| 98 | + |
| 99 | +The agent is powerful. The **system** keeps it honest. |
0 commit comments