Skip to content

holo-q/errloom

Repository files navigation

Overview

Errloom /ˈɜːrluːm/From the combination of err (to wander) and loom (text weaving machine). It reflects the core philosophy of the framework: allowing language models to wander through a space of possibilities, steered by the gravitation force of attractors (reward) and penalties—learning from and being shaped by error.

Errloom is the schizo prompt theorist's swiss army knife for context engineering and reinforcement learning brought together as one in the unified Holoware language (.hol) of prompt engineering. It is a framework for training LLMs with reinforcement learning with verifiable reward (attractors & gravitation rules). It provides a powerful suite of tools and abstractions for orchestrating large language models, with a focus on deconstructing complex, recursive, and agentic workflows into simple, composable, and reusable atoms strug together in .hol recipes. It can be used as a library or standlone CLI, and supports deploying to cloud compute. It aims to demoncratize reinforcement learning experimentation and usher a new era of prompt engineering.

Usage

  1. Run: Running Errloom is achieved in one command with uv, the modern python environment management system:

    ~
    ❮ uvx --from git+https://github.com/holo-q/errloom main
    
    
    INFO     ╭────────────────────────────────────────────────────────────╮                                                                                                                               
             │  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄       ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄▄   ▄▄   │                                                                                                                               
             │  ██████  ██  ██  ██  ██  ██      ██  ██  ██  ██  ███▄▄███  │                                                                                                                               
             │  ██████  ██████  ██████  ██      ██  ██  ██  ██  ████████  │                                                                                                                               
             │  ██▄▄▄▄  ██▄▄██  ██▄▄██  ██      ██  ██  ██  ██  ██▄██▄██  │                                                                                                                               
             │  ██████  ██  ██  ██  ██  ██████  ██████  ██████  ██▄▄▄▄██  │                                                                                                                               
             ╰────────────────────────────────────────────────────────────╯                                                                                                                               
                                                                                                                                                                                                      
             To build an intelligence fractal decompression zip bomb...                                                                                                                                   
    INFO                                                                                                                                                                                                  
    INFO     ──────────────────────────────────── Home Screen ────────────────────────────────────────
    INFO                                                                                                                                                                                                  
    INFO     No .hol files found in prompts/ or hol/ directories                                                                                                                                          
    INFO                                                                                                                                                                                                  
    INFO     Basic Usage:                                                                                                                                                                                 
    INFO       uv run main <holoware> <command>                                                                                                                                                           
    INFO       uv run main <loom_class> <command>                                                                                                                                                         
    INFO                                                                                                                                                                                                  
    INFO     Commands:                                                                                                                                                                                    
    INFO       dry     # Run rollouts without training (uses MockClient by default)                                                                                                                       
    INFO       train   # Run full training with rollouts and optimization                                                                                                                                 
    INFO       dump    # Generate and save rollouts to project directory                                                                                                                                  
    INFO       cat     # Display holoware code or loom class source                                                                                                                                       
    INFO                                                                                                                                                                                                  
    INFO     Positional Arguments:                                                                                                                                                                        
    INFO       holoware      # .hol file or shorthand (qa, tool, codemath, doublecheck, smola)                                                                                                            
    INFO       loom_class    # Loom class name for direct loom usage                                                                                                                                      
    INFO       command       # One of: dry, train, dump                                                                                                                                                   
    INFO       n             # Number of dataset rows to process (default: 10 for train, 1 for dry/dump)                                                                                                  
    INFO                                                                                                                                                                                                  
    INFO     Quick Examples:                                                                                                                                                                              
    INFO       uv run main qa.hol dry                              # Quick dry run with 1 sample                                                                                                          
    INFO       uv run main tool.hol train 50                       # Train with 50 samples                                                                                                                
    INFO       uv run main codemath.hol dry 5 --debug              # Debug dry run with 5 samples                                                                                                         
    INFO       uv run main smola.hol dump 3                        # Generate and save 3 rollouts                                                                                                         
    INFO       uv run main qa.hol cat                              # Display holoware code                                                                                                                
    INFO       uv run main HolowareLoom cat                        # Display loom class source                                                                                                            
    INFO                                                                                                                                                                                                  
    INFO     Testing Examples:                                                                                                                                                                            
    INFO       uv run main prompt.hol train 1 --micro-test         # Minimal test mode                                                                                                                    
    INFO       uv run main prompt.hol train 2 --local-test         # Local test mode                                                                                                                      
    INFO       uv run main prompt.hol train 1 --cpu --test-steps 2 # CPU debug mode                                                                                                                       
    INFO       uv run main compressor.hol train 1 --cpu --dry      # Dry training mode (no backprop)                                                                                                      
    INFO                                                                                                                                                                                                  
    INFO     Advanced Examples:                                                                                                                                                                           
    INFO       uv run main qa.hol train 100 --vllm --batch 16      # Distributed training                                                                                                                 
    INFO       uv run main custom_loom train 50 --model llama-7b   # Custom loom with specific model                                                                                                      
    INFO       uv run main tool.hol train 200 --data custom_dataset # Training with custom dataset                                                                                                        
    INFO                                                                                                                                                                                                  
    INFO     Client Options:                                                                                                                                                                              
    INFO       --vllm         # Use VLLM for distributed training                                                                                                                                         
    INFO       --openai       # Use OpenAI API (requires OPENAI_API_KEY)                                                                                                                                  
    INFO       --openrouter   # Use OpenRouter API (requires OPENROUTER_API_KEY)                                                                                                                          
    INFO       --lmstudio     # Use LM Studio local server                                                                                                                                                
    INFO       --client URL   # Custom OpenAI-compatible endpoint                                                                                                                                         
    INFO                                                                                                                                                                                                  
    INFO     Testing & Debug Options:                                                                                                                                                                     
    INFO       --cpu          # Run on CPU (slow but unlimited memory)                                                                                                                                    
    INFO       --micro-test   # Minimal memory usage for testing                                                                                                                                          
    INFO       --local-test   # Optimized for local development                                                                                                                                           
    INFO       --test-steps N # Limit training to N steps                                                                                                                                                 
    INFO       --debug        # Enable debug logging                                                                                                                                                      
    INFO       --unsafe       # Disable safe mode (crashes on errors)                                                                                                                                     
    INFO                                                                                                                                                                                                  
    INFO     Deployment:                                                                                                                                                                                  
    INFO       uv run main --vastai                               # Deploy to VastAI                                                                                                                      
    INFO       uv run main --vastai-gui                           # VastAI deployment GUI                                                                                                                 
    INFO                                                                                                                                                                                                  
    INFO     Use uv run main <command> --help for detailed options.                                                                                                                                       
    INFO                                                                                                                                                                                                  
    INFO     ─────────────────────────────────────────────────────────────────────────────────────────
    

    Following the home instructions, we discover the progressive development workflow for reinforcement learning.

  2. (Holoware DSL) Reinforcement learning scaffolding contexts are written in holoware:

    <|+++|>
    <|o_o|>
    <|ToolPrompt|>
    <|few_shot|>
    <|query|>
    
    <|ToolTurns max=10|>
        <|@_@|>
        <|@_@ <>think|>
    
    <|Attractor|>
        <|CorrectAnswerRule|>
        <|ToolRule|>
    
  3. (New Philosophy) We readily and obsessively abandon the classic jargon of machine learning in favor of a more operational set of abstractions:

    • Role → Ego (user as self-inquiring, assistant as self-oracular)
    • Environment → Loom (text weaving machine)
    • Set of Rollout → Tapestry
    • Rubric → Attractor
    • Reward → Gravity
  4. (Instant Deployment) Launching training on cloud compute in one command:

    ~
    ❮ uvx --from git+https://github.com/holo-q/errloom main context.hol deploy
    
    1. We use the menu to select an instance, it rents and deploys the errloom library with our script, and the training is launched. (WIP)
    2. It clones Errloom on the remote, sets up the envrionment, uploads your [your configured API keys](TODO link to relevant wiki), etc.
    3. We get back a link for wandb, tensorboard, etc. and we can observe training progress. (TODO)
      1. This all happens over a live SSH connection.

      2. If the connection drops, errloom will continue to train on the remote. (TODO)

      3. If we reconnect...

        errl smola.hol -vaic # continue training on vast.ai / remote
        

        it will save a checkpoint, kill the process, and restart it to resume from the checkpoint. (TODO)

        errl smola.hol -vaip
        
        TODO show output of the active loom being pinged
        
      4. We can ping and get back information about the training run still actively running. If you used the --train-upload argument in the initial creation of the training instance, the model will be automatically upload to huggingface to a private dataset.

        TODO show a training report example, image of tensorboard, wandb, etc.`
        

        For detailed instructions, please refer to the wiki.

Roadmap

Holoware integration in Nous Research's Atropos

We write an holoware environment for Nous Research Atropos reinforcement learning library. (optional dependency on Atropos) This will allow the experiments conducted by Errloom users to scale using their more sophisticated pipeline for distributed training across the globe. We envision a market of environments and holowares where users submit proposals that are taken by compute volunteers.

This way, Errloom will be the preferred tool for reinforcement learning research, and Atropos for scaling a concept after verifying the preliminary results.

Contribution

  • We greatly encourage the community to self-organize and implement as many compute providers under an abstraction in this interface to multiply the power of Errloom.
  • Explore the power of holoware and experiment with new cognitive engineering methodologies.
  • Integration with Atropos is a great project for end-users to get involved with.

4. Wiki

For more information, please visit the wiki pages.

  1. Definitions & Jargon
  2. Holoware Language Spec (.hol)

5. Citation

This project builds upon the original verifiers library created by Will Brown.

If you use this code in your research, please update and use the following citation:

@article{brown2025errloom,
  title={Errloom: Schizo Reinforcers},
  author={Nicolas Martel},
  year={2025}
}

Releases

No releases published

Packages

 
 
 

Contributors

Languages