Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/
A model-agnostic RLM harness, written in Rust. Companion to
CryptoJones/ReCLamO-Harness (the Qwen-tuned v0.1).
v0.1 works against Qwen3.8 on pluto Flash-Next and solves its self-authored
tasks perfectly. On the independent roundtable-eval (#22, frozen at
../ReCLamO-Harness sha e17580f), it loses to plain on small contexts and
solves only 5/16 medium and 1/8 large. The fix list lives in ../ReCLamO-Harness
NEXT-STEPS.md. This repo builds the model-agnostic version that also
takes the fixes end to end.
The orchestrator is Rust; the REPL is the same vendored Python worker that
v0.1 used — std-only stdlib, no third-party deps in the child process.
See PLAN.md for the goals, architecture, and success criteria.
- Phase 1 (scaffold) — SHIPPED.
reclamo-anl --versionworks;cargo testpasses (55/55 unit tests green).MockProviderround-trips againstAnthropicProviderandOpenAICompatProviderrequest builders, includingchat_template_kwargspassthrough for Qwen/Strata andreasoning_contentnormalization for Anthropic-style thinking. - Phase 2 (loop + REPL + first model run) is the next milestone.
PLAN.md— what I'm building and why.BACKLOG.md— backlog (mirrors the GitHub Issues tab once any are filed).src/— the Rust crate.providers/{base,anthropic,openai_compat,mock,reasoning}.rs— the provider abstraction (one trait, three adapters).rlm.rs— the loop with the five NEXT-STEPS fixes baked in.router.rs— plain-vs-harness routing (fix #1).repl/{in_memory_repl,subprocess_repl,worker.py}.rs/.py— REPL stub (in-memory) and full subprocess variant (vendoredworker.py).prompts.rs+prompts/system_prompt.template— capability-driven system prompt.logger.rs— JSONL trajectory.parsing.rs— fenced code +FINAL/FINAL_VARdetection.error.rs— typed limit errors withpartial_answer.config.rs— TOML profile parser.cli.rs—reclamo-anl {run, ping, version}.
evals/— frozen-generators rig (phase 4).examples/— needle, oolong-lite, long-doc-QA (phase 4+).profiles/— example profile TOMLs.
Requires the Rust 1.75+ toolchain. cargo test runs the unit suite.
# Phase-1 sanity (works today). cargo run -- --version cargo test # Phase-2 use (loop + REPL on a real model — wired up next). cargo run -- run --profile profiles/anthropic.toml \ --context path/to/context.txt \ -q "Find the needle."
--provider mock skips network for the ping subcommand.
Tracked in BACKLOG.md; summary in PLAN.md.
Apache-2.0. See LICENSE.
Design inspired by alexzhang13/rlm and alexzhang13/rlm-minimal
(both MIT); see NOTICE and THIRD_PARTY_LICENSES.md.
Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/