{"data":{"kind":"file","path":"README.md","version_id":"yhi0eoixfs5tem86roh4do42","entry":{"name":"README.md","path":"README.md","is_directory":false,"size":2829,"modified_at":"2026-10-20T07:02:27.028000","content_hash":"856915d2205e393fe418fb1a7197401f92606a81d0ca9e9a7ee4bbcc157367af"},"entries":[],"content":"# Agent Self-Evolution\n\nA two-turn Verifiers environment for evidence-grounded agent self-improvement. In rehearsal, an agent decides whether a trace supports creating a new workflow skill, refining an existing one, remembering a stable user preference, or persisting nothing. It receives only a coarse rehearsal score and then makes a new, final decision from a distinct next-session trace. Only the final transfer decision is rewarded.\n\nThis is a synthetic, public, within-template transfer benchmark, not a hidden holdout or a claim of real-world autonomous improvement. It performs no filesystem writes and does not modify real skills or memory.\n\n## Task and reward\n\nReturn JSON: `action` (`create`, `refine`, `memory`, `none`), `trigger`, `verification`, `exception`, `evidence` (rendered event IDs), and `steps`. The final reward ranges from 0 to 1: 0.55 for a correct action with minimally sufficient, non-flooded, grounded proof; 0.15 each for a bounded trigger and verification; 0.10 for a scope exception; and 0.05 for actionable safe steps. Wrong action or fabricated/decoy evidence scores zero. A rejected injection may cite the untrusted instruction as evidence *for rejection*. The grader uses public exact canonical tokens for trigger/check/exception; this makes reward reproducible but leaves a finite-template memorization vulnerability. Event IDs and display order are independently shuffled by seed.\n\nPairs deliberately change the outcome: create -> refine; refine -> none; none -> create; memory -> none; verified rollback refinement -> unknown outcome; unknown outcome -> verified refinement; create -> refine; refine -> memory. Train seeds and eval seeds occupy separate public ranges. No transfer labels or expected response is given in feedback. No LLM judge, external calls, credentials, or real-model performance claims.\n\n## Usage\n\nRequires Python 3.11–3.13 (tested with Python 3.12 and Verifiers 0.1.14).\n\n    uv pip install -e .\n    python3.12 -m unittest discover -s tests -v\n    python3.12 -c 'from agent_self_evolution import load_environment; e=load_environment(); print(len(e.dataset), len(e.eval_dataset))'\n\nEntry point: `agent_self_evolution.load_environment(train_seeds=16, eval_seeds=4)`.\n\n## Limitations\n\nCases are fixed public templates with randomized IDs. Exact-match checks for trigger, verification, and exception are narrow proxies for applicability; they cannot establish semantic equivalence. An agent can memorize the templates. Rehearsal feedback gives a coarse score and is not an independently verified real-world outcome. Run on independently collected traces and out-of-template cases before interpreting scores as general self-improvement. Never persist lessons from this benchmark automatically; evaluate evidence, scope, prompt injection, and secrets independently first.\n","encoding":"utf-8","truncated":false,"total_bytes":2829},"status":null}