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.
-
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.
-
(Holoware DSL) Reinforcement learning scaffolding contexts are written in holoware:
<|+++|> <|o_o|> <|ToolPrompt|> <|few_shot|> <|query|> <|ToolTurns max=10|> <|@_@|> <|@_@ <>think|> <|Attractor|> <|CorrectAnswerRule|> <|ToolRule|> -
(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
-
(Instant Deployment) Launching training on cloud compute in one command:
~ ❮ uvx --from git+https://github.com/holo-q/errloom main context.hol deploy- We use the menu to select an instance, it rents and deploys the errloom library with our script, and the training is launched. (WIP)
- It clones Errloom on the remote, sets up the envrionment, uploads your [your configured API keys](TODO link to relevant wiki), etc.
- We get back a link for wandb, tensorboard, etc. and we can observe training progress. (TODO)
-
This all happens over a live SSH connection.
-
If the connection drops, errloom will continue to train on the remote. (TODO)
-
If we reconnect...
errl smola.hol -vaic # continue training on vast.ai / remoteit 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 -
We can ping and get back information about the training run still actively running. If you used the
--train-uploadargument 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.
-
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.
- 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.
For more information, please visit the wiki pages.
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}
}