Skip to main content

♾️ Darkzloop

Reliable. Autonomous. Model-Agnostic.
Stop hand-carrying cargo. Operate the locomotive.

PyPI License: MIT Python 3.10+

📖 About

Darkzloop is a terminal-based agent runner that transforms any Large Language Model into a disciplined, autonomous software engineer. Instead of building a smarter agent, Darkzloop builds a more disciplined one—wrapping model outputs in a rigorous control system that prevents hallucinations, drift, and infinite loops.

Core Architecture:

  • 🔄 7-State FSM — Enforced transitions through Plan → Execute → Observe → Critique → Checkpoint
  • 🧠 Context Grounding — Agent receives Mermaid diagrams of its own control flow every iteration
  • ⚡ Circuit Breakers — Hard stop after 3 consecutive failures; no spiral of bad fixes
  • 🔍 Auto-Detection — Scans for Rust/Python/Node/Go and runs appropriate quality gates
  • 🔐 BYOA (Bring Your Own Auth) — Uses your existing CLI tools; no API keys required

Darkzloop is a terminal-based agent runner that turns any LLM into a rigorous software engineer. Built on the Ralph Wiggum Loop methodology, it uses a Finite State Machine, Mermaid context diagrams, and Circuit Breakers to prevent hallucinations and infinite loops.

🔥 The Killer Feature: Bring Your Own Auth (BYOA)
Darkzloop doesn't need your API keys. It pipes context directly to the tools you're already logged into:

Claude CLI • GitHub Copilot • Ollama • llm CLI • Aider


⚡ Quick Start

1. Install

pip install darkzloop

2. Run

Navigate to your project and describe the task. Darkzloop auto-detects your stack.

darkzloop "Fix the retry logic in the webhook handler"

That's it. Darkzloop will:

  • � Darkz Loop through Plan → Execute → Observe → Critique → Checkpoint
  • 🔍 Auto-detect your project type (Rust/Python/Node/Go)
  • 🛡️ Create a safety backup branch
  • ⚡ Show animated spinner while working
🟡 [EXECUTING] iter=1 fails=0
⠴ 🔄 Darkz Looping...

Optional: Verify Setup

darkzloop doctor
# ✓ Backend: claude
# ✓ Project: Python
#   Tier 1: ['ruff check .']
#   Tier 2: ['pytest -x']

⚡ Batch Processing (Parallel Workers)

Process multiple files concurrently with the new batch command:

# Process entire folder with 4 parallel workers
darkzloop batch ./src --workers 4 --task "Fix security vulnerabilities"

⚡ Batch Processing: 51 files with 4 workers
Processing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%

Results:
  ✓ Success: 51
  ✗ Failed: 0

Batch Options

Option Description
--workers N Number of parallel Ralph workers (default: 4)
--task "..." Task to apply to each file
--backend X Override LLM backend

🛡️ Why Darkzloop?

Most AI agents are just "loops in a while(true) block." They drift, hallucinate, and overwrite good code. Darkzloop is different:

Feature The Problem The Darkzloop Solution
Ralph Loop Agent runs aimlessly FSM-controlled Plan→Execute→Observe→Critique→Checkpoint
Circuit Breakers Agent tries the same wrong fix 10× Task Limits: Hard stop after 3 failed attempts
Tiered Gates Agent breaks the build Quality Control: Tests must pass before loop completes
Stdin Delivery Shell escaping mangles prompts Direct stdin: Complex prompts with Mermaid diagrams work perfectly
Git Safety Agent overwrites uncommitted work Backup Branches: Auto-creates restore points

🧠 Supported Backends

Darkzloop works with any tool that accepts text via stdin.

Backend Best For Auto-Detected
Claude CLI Complex refactors, high reasoning ✓
Ollama Privacy, offline, free ✓
GitHub Copilot Quick fixes with Enterprise license ✓
llm CLI Universal adapter (50+ providers) ✓

🛠️ Usage Examples

Quick Fix

darkzloop "Login button not responding on mobile"

With Backend Override

darkzloop "Add rate limiting" --backend ollama

Skip Safety Prompts + Quality Gates (CI/CD)

darkzloop "Fix lint errors" --unattended --no-gates

Batch Process Directory

darkzloop batch ./vulnerable-code --workers 8 --task "Fix SQL injection"

Check Environment

darkzloop doctor

Auto-detected quality gates by stack:

  • Rust: cargo check → cargo test
  • Python: ruff check . → pytest -x
  • Node: npm run lint → npm test
  • Go: go build ./... → go test ./...

📦 Architecture

Darkzloop implements the Ralph Wiggum Loop methodology with industrial-grade hardening:

┌─────────────────────────────────────────────────────────────┐
│                    DARKZLOOP CONTROL PLANE                   │
│                                                              │
│  ┌──────────┐    ┌──────────┐    ┌──────────┐               │
│  │   FSM    │───▶│  Mermaid │───▶│  Gates   │               │
│  │  Engine  │    │ Context  │    │ (Tests)  │               │
│  └──────────┘    └──────────┘    └──────────┘               │
│        │              │               │                      │
│        ▼              ▼               ▼                      │
│  ┌─────────────────────────────────────────┐                │
│  │           Stdin Prompt Delivery          │                │
│  │   (Bypasses shell escaping entirely)     │                │
│  └─────────────────────────────────────────┘                │
└────────────────────────┬────────────────────────────────────┘
                         │
                         ▼
              ┌─────────────────────┐
              │   Executor Layer    │
              │  (Model-Agnostic)   │
              └──────────┬──────────┘
                         │
        ┌────────────────┼────────────────┐
        ▼                ▼                ▼
   ┌─────────┐     ┌──────────┐     ┌─────────┐
   │ Claude  │     │  Ollama  │     │   API   │
   │  CLI    │     │ (Local)  │     │ (SDK)   │
   └─────────┘     └──────────┘     └─────────┘

The Ralph Loop FSM

The FSM enforces strict state transitions—no "hallucinated" jumps:

graph LR
    INIT --> PLAN
    PLAN --> EXECUTE
    EXECUTE --> OBSERVE
    OBSERVE --> CRITIQUE
    CRITIQUE --> CHECKPOINT
    CRITIQUE --> TASK_FAILURE
    TASK_FAILURE --> PLAN
    CHECKPOINT --> COMPLETE
    TASK_FAILURE --> BLOCKED
State Description Exit Condition
PLAN Agent receives FSM context + Mermaid diagram Plan ready
EXECUTE Agent works on task (🔄 Darkz Looping...) Changes made
OBSERVE Run quality gates Pass/Fail
CRITIQUE Evaluate results Success → CHECKPOINT
CHECKPOINT Task complete All done → COMPLETE
TASK_FAILURE Max 3 retries, then → BLOCKED Fix applied → retry

Context Reminder (Sent Every Iteration)

Each iteration, the agent receives structured context:

# DARKZLOOP AGENT CONTEXT
FSM: EXECUTE | iter=2 | fails=1 | max_fails=3

## FSM State Diagram
graph LR; PLAN-->EXECUTE; EXECUTE-->OBSERVE...

## Current Task
Fix the SQL injection vulnerability

## Instructions
You are inside a Ralph Wiggum loop. Your changes persist between iterations.

📊 Commands

Command Description
darkzloop "task" Run a fix or feature (main usage)
darkzloop batch path/ Process files in parallel
darkzloop batch path/ --workers 8 Control parallelism
darkzloop "task" --backend ollama Override LLM backend
darkzloop "task" --unattended Skip safety prompts (for CI)
darkzloop "task" --no-gates Skip quality gates (for testing)
darkzloop doctor Verify environment and configuration

🚨 Safety Features

Darkzloop is designed to never lose your work:

  1. Git Clean Check: Warns before running with uncommitted changes
  2. Backup Branches: Creates darkzloop-backup-YYYYMMDD-HHMMSS before execution
  3. Circuit Breakers: Max 3 consecutive failures before stopping
  4. Attended Mode: Requires approval at each major step
  5. Stdin Delivery: Complex prompts with special characters work perfectly

🎯 Philosophy

"The goal is not to build a smarter agent. It's to build a more disciplined one."

Darkzloop is based on the Ralph Wiggum Loop methodology:

  1. Plan: Receive task + FSM context + Mermaid diagram
  2. Execute: Let the agent work within strict boundaries
  3. Observe: Run quality gates (linters, tests)
  4. Critique: Evaluate results, decide next action
  5. Checkpoint: Accept changes or retry

The agent is powerful. The system keeps it honest.


🔧 Development

git clone https://github.com/darkzOGx/darkzloop
cd darkzloop
pip install -e ".[dev]"
pytest

Stress Testing

Generate a nightmare test suite:

cd vulnerable-api
python generate_nightmare_suite.py
# Creates 50 files with various vulnerabilities

darkzloop batch nightmare_suite --workers 4
# Processes all files in parallel

📄 License

MIT © 2025


Stop debugging your debugger. Start shipping.
pip install darkzloop && darkzloop "your bug here"

Metadata

Release files for darkzloop 0.8.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for darkzloop 0.8.3
File Size Uploaded
darkzloop-0.8.3.tar.gz 102.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for darkzloop 0.8.3
File Interpreter ABI Platform
darkzloop-0.8.3-py3-none-any.whl Python 3 none any Details

Total release size: 209.3 kB

Release files / darkzloop-0.8.3.tar.gz

Download URL darkzloop-0.8.3.tar.gz
Size 102.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ba84bb65cfc37bebe6b4e07035fd958884c4ee1d0b56925ed02bdaeeef9f41dd
BLAKE2b-256 checksum
How to use checksums
3fb408d8bd2a5344267296dabf4a6486c44a4ffbb7306a76d2e4b225d7938282
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / darkzloop-0.8.3-py3-none-any.whl

Download URL darkzloop-0.8.3-py3-none-any.whl
Size 106.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
950f300dd9a5f21c1fb42b58a7d56a74caa8df6cf2e529fb8f693bc17389aa8b
BLAKE2b-256 checksum
How to use checksums
b96ca432e27c3615187de4b1685347ded8549b87a4160eec9aee1056fe854ad6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

0.8.3 This release

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page