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.7.tar.gz (29.6 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.7-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: global_loop_engine-0.1.7.tar.gz
  • Upload date:
  • Size: 29.6 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.7.tar.gz
Algorithm Hash digest
SHA256 f44022814fb0de84f78eb284a7bf9d6b076294e51b35d9bac3e87b3ec8c62a5d
MD5 32379a7828ae6e5fbae40665e52c396f
BLAKE2b-256 1d3fd3897538adfdc81dbc00cb483e6c6fe852510268fb17806a3735aaa60e67

See more details on using hashes here.

Provenance

The following attestation bundles were made for global_loop_engine-0.1.7.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.7-py3-none-any.whl.

File metadata

File hashes

Hashes for global_loop_engine-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 96d446d9ed9e3290b1f7ee7ebc38940c58e669381034d22b706e3d8a36ea64c3
MD5 56d52dd05c9b56aad303c3dba9b31053
BLAKE2b-256 a1ab668064df1031bed834eb7b74cca893aa56db3ea99b6f85b5cb3ec9544fb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for global_loop_engine-0.1.7-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