A leveling agent that gets cheaper as it runs
A guide-directed WoW agent designed to spend less the longer it plays.
A leveling agent for a private TBC 2.4.3 server. It follows a written guide, and the decisions it has already made are reused, so the cost per hour falls as the run goes on.
# Jev A guide-directed leveling agent for a private TBC 2.4.3 server, built so that **it gets cheaper to run the longer it runs**. ``` System 1 33-50 ms scripted free move, face, swing, loot, eat Tracker 250 ms predicates free step done? off route? timed out? Coach 0.2-2 Hz policy free arm a skill, move the playhead Teacher queued Claude/GLM expensive resolve ambiguity, write skills Learner nightly training free grade, retrain, promote ``` The teacher never presses a key and is never on the hot path. It answers the small fraction of moments no rule can settle, and everything it answers becomes training data for the policy that replaces it. The demo sentence is *tokens falling, steps still advancing*. ## Read these in order | | | |---|---| | **[ARCHITECTURE.md](ARCHITECTURE.md)** | how it is built, and why it differs from the plan | | **[DECISIONS.md](DECISIONS.md)** | every call made, with its reason. Read before proposing an alternative | | [docs/PLAN.md](docs/PLAN.md) | the original vision | | [data/README.md](data/README.md) | what is on disk and where it came from | ## Quickstart ```bash uv venv --python 3.12 && uv pip install -e ".[dev]" .venv/bin/python -m pytest # no game required .venv/bin/python tools/gen_addon_fields.py ``` The wire format, the state contract, the situation key, the verifier and the reward function are all testable with no client, no capture and no network. A count is left out of this file on purpose — it goes stale in a day and a stale number in a README is a small lie you tell yourself every time you read it. `STATUS.md` carries the current one. **Nothing drives the game yet.** The brain is built and simulated; capture and input are not written. See `