Skip to main content

LangGraph-based agentic loop engine for IDE/CLI environments — enforces think→execute→critique→refine on every coding action

Project description

Global Loop Engine

PyPI - Python Version License: Apache 2.0

🌍 中文说明 (Chinese Documentation)

Global Loop Engine is a robust, LangGraph-based execution and validation layer designed for LLM coding agents operating in IDE or CLI environments. It acts as an uncompromising gatekeeper, enforcing a strict "think → execute → critique → refine" cycle to ensure 100% deterministic code output and completely eliminate LLM hallucination or "cheat-to-pass" behaviors.

✨ Core Features

  • 🛡️ Strict Sandbox Validation: Employs real subprocess verification (e.g., pytest, grep) to validate LLM outputs. It refuses to accept "mocked" data or verbal claims of success.
  • 🧊 Hot/Cold State Separation: Keeps context windows extremely small by passing only diffs and execution exit codes (cold state) to the LLM, preventing token explosion on large projects.
  • 🧬 Anti-Hallucination Guardrails: Features a dedicated CriticNode that cross-references assertions with raw logs. If an LLM fabricates test results, the engine instantly intercepts it.
  • ⏱️ Atomic Git Snapshots: Automatically commits state checkpoints before execution. If the LLM enters a destructive spiral, the engine gracefully rolls back the entire workspace.
  • ⚙️ Dangerous Command Filter: Uses Regex-based whitelists to instantly block destructive shell commands (rm -rf /, DROP TABLE, etc.) before they hit your terminal.

🏗 Architecture

graph TD
    classDef llm fill:#f9f2f4,stroke:#d67a8b,stroke-width:2px,color:#333;
    classDef validator fill:#e6f7ff,stroke:#69b1ff,stroke-width:2px,color:#333;
    classDef storage fill:#f6ffed,stroke:#95de64,stroke-width:2px,color:#333;

    User([User Request]) --> A[LangGraph Orchestrator]
    
    subgraph Global Loop Engine
        A -->|Dispatch| C[AgentNode<br>Code Generation]:::llm
        C -->|Propose Changes| B{CriticNode<br>Sandbox Validator}:::validator
        B -->|Fake Data / Missing Evidence| C
        B -->|100% Verified| D[StateSaver<br>Git Checkpoint & SQLite]:::storage
    end

    D --> Success([Final Output])

🚀 Quick Start

1. Installation

Choose one of the following methods to install (supports macOS, Windows, and Linux):

Method A: Install via PyPI (Recommended)

pip install global-loop-engine

Method B: Download Release Asset (Offline / Custom version)

  1. Go to the Releases page.
  2. Download the universal wheel package (e.g., global_loop_engine-0.1.0-py3-none-any.whl for version 0.1.0).

    Note: macOS, Windows, and Linux users all download this same universal file. Naming Rule: Python's packaging standard automatically replaces the hyphen - in the project name with an underscore _ for .whl files (while keeping the hyphen in .tar.gz files).

  3. Run the installation (replace 0.1.0 with the actual version you downloaded, or use a wildcard):
    pip install global_loop_engine-0.1.0-py3-none-any.whl
    # Or using wildcard: pip install global_loop_engine-*.whl
    

Method C: Developer Mode (Clone and build)

git clone https://github.com/WhitWei/global-loop-engine.git
cd global-loop-engine
cp .env.example .env
pip install -e .

2. Configuration

Open the .env file and configure your database path and retry thresholds (defaults are provided out-of-the-box).

3. Usage

You can invoke the engine directly via the global CLI command loop-engine:

# Run a task with strict single-pass validation (no retries)
loop-engine --task "Refactor the authentication module" --mode fast

# Run a task with the full LangGraph reflexion loop (auto-retries until success)
loop-engine --task "Implement Token Bucket algorithm and pass tests" --mode loop

🧠 Architecture Overview

The engine orchestrates agents through a compiled StateGraph:

  1. ComplexityScorerNode: Evaluates the task difficulty to determine maximum allowed retries.
  2. SanitizeNode: Pre-execution security filter blocking malicious shell commands.
  3. ExecuteNode: Runs the target code or tests in the shell, capturing stdout, stderr, and exit_code.
  4. CriticNode: The "Judge". Parses logs, detects hallucinations, increments retry counters, and routes the state.
  5. RefineNode: If tests fail, feeds the exact error signatures back to the LLM to patch the code.

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how to set up your local development environment, run tests, and submit pull requests.

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

global_loop_engine-0.1.1.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

global_loop_engine-0.1.1-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file global_loop_engine-0.1.1.tar.gz.

File metadata

  • Download URL: global_loop_engine-0.1.1.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for global_loop_engine-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8aa534adacdd904e0fd2d9e454bea48df392d561e9432738ddca85348168295c
MD5 aa4cf1b85890c9c9e72aa7499e5212e6
BLAKE2b-256 9d70dc1e09f75fdd0f5a4725c9c061fb4e016556c5858e387ce7c64dce89834d

See more details on using hashes here.

Provenance

The following attestation bundles were made for global_loop_engine-0.1.1.tar.gz:

Publisher: publish.yml on WhitWei/global-loop-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file global_loop_engine-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for global_loop_engine-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 21974aa0b87960a99f53316cd841b9ad83a1fd7f6a85e293cdf10ffa58997569
MD5 ea4936a896ad0b07912051752613cb4e
BLAKE2b-256 40133966196057ee202a7797b913a0a56cf9994edec86f642ecdabbf7c29ab9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for global_loop_engine-0.1.1-py3-none-any.whl:

Publisher: publish.yml on WhitWei/global-loop-engine

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page