Every agent run should make your repository smarter.
Harness Anything is the self-evolving harness for self-evolving repositories. It turns decisions, failures, facts, and reviews into durable project memory — then gates "done" so progress compounds instead of evaporating into chat.
Most agent runs are disposable. The reasoning stays in a transcript, settled decisions get reopened, the same mistakes return, and "done" is whatever the agent says it is.
Harness Anything makes the work accumulate:
| Without a harness | With Harness Anything |
|---|---|
| Reasoning disappears with the session | Decisions and facts become durable project memory |
| The next agent repeats old mistakes | Failures can become rules, checks, and better workflows |
| Completion is a claim | Completion is a state earned through gates |
This is not a better chat log. It is a compounding loop for how agents work in your repository.
DECIDE → WORK → VERIFY → LEARN → THE NEXT RUN STARTS STRONGER
Every task leaves behind the context that matters: what was decided, what was tried, what was observed, and what remains unresolved. The next agent starts from project memory instead of reconstructing history from scratch.
A failure should pay rent. Capture it as a fact, turn a recurring lesson into a decision, check, or preset, and the repository becomes harder to break in the same way twice.
Agents do not get to close work by confidence alone. A six-field Submission Packet gives the reviewer a traceable claim and inspection entry points; the reviewer records what was checked and why the round is or is not acceptable. Completion then applies the gates declared by the task's resolved preset/profile contract. Coding contracts can require CI, but the kernel requires neither CI nor any minimum number of Facts universally (dec_mrg3z1we/CH1, CH4; ADR-0027 D5-D7).
Harness Anything is developed through Harness Anything.
Its own tasks, decisions, facts, reviews, and completion gates run through the same system it gives your repository. The harness observes its own failures, turns lessons into stronger constraints, and uses those constraints on the next round of development.
That is what self-evolving means here: not magic, and not autonomous churn. Each completed loop leaves the system better equipped for the next one. Your repository gets the same compounding mechanism.
Harness Anything currently runs from a source checkout and requires Node.js 24+. Run the 30-second smoke demo:
git clone https://github.com/FairladyZ625/harness-anything
cd harness-anything
npm ci
npm run quickstart:demoThe demo builds the CLI, creates a throwaway project, runs a real task loop, and shows the records that remain after the agent work is over.
Ready to use it on a project? Continue with the Start guide.
You do not need anything installed first. Paste this to a coding agent working in the project you want to adopt it in:
Read
skills/harness-install/SKILL.mdfrom https://github.com/FairladyZ625/harness-anything and follow it to install Harness Anything in this project. Ask me before each decision the skill says to ask about.
The skill reads your project first — language, layout, CI, whether you already
have an AGENTS.md — then initializes a ledger, attaches it to a daemon, and
drives one real task all the way to done, so the install is proven rather than
assumed. It stops and asks you wherever a choice is hard to undo: the person id
it is about to write, and any file of yours it would have to merge into.
If the project already has a harness/ ledger from an earlier release, use
the migration skill
below instead.
The ledger format has changed by a generation and this project keeps no backward compatibility, so existing repositories cannot be upgraded in place. The old repository is archived read-only and replayed into a new one; it is never at risk.
You do not have to do this by hand, and you do not need the current version installed first. Paste this to a coding agent working in the repository you want to migrate:
Read
skills/harness-migration/SKILL.mdfrom https://github.com/FairladyZ625/harness-anything and follow it to migrate this project'sharness/ledger to the current format. Ask me before each decision the skill says to ask about.
The skill fetches the current source into a temporary directory and runs everything from there, so an older Harness installation on the same machine — including a running daemon — is left untouched. It stops and asks you at each point where a choice destroys something: file conflicts between your ledger and the freshly initialized one, records the strict format rejects, and presets that must be rebuilt rather than copied.
Prefer to drive it yourself? The migration guide is the same procedure in reference form.
Harness Anything gives agent work three durable primitives:
- Decision — what was chosen, what was rejected, and why.
- Task — what is being changed, its plan, progress, review, and closeout.
- Fact — what was actually observed, with source and confidence.
They live as plain Markdown inside a private nested git ledger. Git provides the history; a rebuildable projection makes the records queryable; gates control which state transitions are allowed.
The result is a repository that remembers more than its code:
- why its architecture looks the way it does;
- which attempts failed and should not be repeated;
- which work is truly complete and which claims remain open;
- how its own development process should improve next.
- Start — install it and run one real loop. (中文)
- Learn — understand the memory model, gates, and compounding loop. (中文)
- Architecture — explore the kernel, storage model, write path, and projections. (中文)
- Release posture — see what is shipped, foundational, or planned.
- Migration — replay an older-generation ledger into the current format. (agent skill)
- Minimal example — inspect the smallest working project.
Sharp bug reports, failing test cases, architecture questions, and focused documentation fixes are especially useful right now. See CONTRIBUTING.md before opening a pull request.
AGPL-3.0-or-later. Harness Anything stays open, including when it is offered as a service.