{"id":"arxiv:2609.01437","title":"HarnessDev: Can LLMs Create and Evolve Their Own Agent Harness?","date":"2026-09-01","section":"Harness","quality":-0.042613,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/","source_url":"https://arxiv.org/abs/2609.01437","text_available":true,"authors":["Yuhao Wu","Jingyuan Zhang","Jiajun Shi","Xinping Lei"],"outgoing":[{"source":"arxiv:2609.01437","target":"arxiv:2408.08435","evidence":"id","id":"arxiv:2408.08435","title":"Automated Design of Agentic Systems","url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/c9890d5668d1c1b33e29569b74626fd586f456af6a97c657b8c99895c90f59a5/"},{"source":"arxiv:2609.01437","target":"arxiv:2410.07095","evidence":"id","id":"arxiv:2410.07095","title":"MLE-bench: Evaluating Machine Learning Agents on Machine Learning Engineering","url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/f0a0c6321ec079098a36ad19b3900d77197a3af1f6bbf6eee8a083e5eb03d42e/"},{"source":"arxiv:2609.01437","target":"arxiv:2603.28052","evidence":"id","id":"arxiv:2603.28052","title":"Meta-Harness: End-to-End Optimization of Model Harnesses","url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/8bb0b87384dfdd42c419cf26cc7e52f1f0d89f63afa5d5968e246b73a44c99cb/"},{"source":"arxiv:2609.01437","target":"arxiv:2604.25850","evidence":"id","id":"arxiv:2604.25850","title":"Agentic Harness Engineering: Observability-Driven Automatic Evolution of Coding-Agent Harnesses","url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/c2358d2261b7478833ca59529278f0f4872896ca5ae4434e8db5d420532e10bd/"}],"incoming":[],"text_parts":[{"start":0,"end":15310,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html"},{"start":15310,"end":31254,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html"},{"start":31254,"end":47061,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html"},{"start":47061,"end":62928,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html"},{"start":62928,"end":78857,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html"},{"start":78857,"end":94822,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-6.html"},{"start":94822,"end":109925,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-7.html"}],"contents":[{"title":"HarnessDev : Can LLMs Create and Evolve Their Own Agent Harness?","offset":231,"level":1,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"Abstract","offset":299,"level":6,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"1 Introduction","offset":2083,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"Harness Creation.","offset":6842,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"Harness Evolution.","offset":7729,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"2 Background","offset":8365,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"3 Benchmark","offset":11398,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"3.1 Overview","offset":11414,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"RQ1—Creation.","offset":12487,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"RQ2—Evolution.","offset":12703,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"3.2 Development settings","offset":13060,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"Weak seed H seed H_{\\mathrm{seed}} .","offset":13265,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"Creation (RQ1).","offset":14895,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"Evolution (RQ2).","offset":15287,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-1.html#text"},{"title":"3.3 Domains and downstream benchmarks","offset":16993,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"3.4 Evaluation protocol","offset":17727,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Creation.","offset":18125,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Evolution.","offset":18448,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Constraint compliance.","offset":18962,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"3.5 Metrics","offset":20217,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"4 Experiments","offset":20753,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"4.1 Experimental setup","offset":20992,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"4.2 Harness Creation","offset":22112,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Overall findings.","offset":22407,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Performance variation and executor dependence.","offset":22975,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Implementation behavior.","offset":23893,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Executor transfer.","offset":25887,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"4.3 Harness Evolution","offset":26700,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Overall findings.","offset":26727,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Evaluation protocol.","offset":27204,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Editing and feedback use.","offset":28762,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"Stability and final-version selection.","offset":30350,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-2.html#text"},{"title":"5 Related Work","offset":31984,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Agent benchmarks and harness development.","offset":32117,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Automated agent design and evolution.","offset":34306,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Evaluating harness evolution.","offset":36292,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"6 Discussion, Limitations, and Conclusion","offset":37414,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"6.1 Limitations","offset":38352,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"6.2 Conclusion","offset":39263,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Ethics statement.","offset":39901,"level":4,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"7 Contributions","offset":40630,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Appendix A Candidate Harness Systems","offset":40964,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Appendix B Experimental Configuration","offset":41723,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"B.1 Downstream execution configuration","offset":42192,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"B.2 Human-engineered reference systems","offset":42832,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"B.3 Creation performance and execution cost","offset":43586,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"B.4 Evolution execution cost by frozen version","offset":43635,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Appendix C Harness Interface Specification","offset":43924,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"C.1 Seed Harness Skeleton","offset":44732,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"Appendix D Evaluation Settings and Roles in Full","offset":46872,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"D.1 Self and unified evaluation","offset":47024,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-3.html#text"},{"title":"D.2 Model roles","offset":48365,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Appendix E Representative System Prompts","offset":48889,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"E.1 RQ1: shared harness-creation system prompt","offset":49466,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Objective","offset":51143,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Research Definition Of A Harness","offset":52039,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Starting Constraints","offset":53015,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Required Behavioral Boundary","offset":53750,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Model-Calling Requirements","offset":55575,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Prohibited Behavior","offset":57145,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Research Records And Non-Scoring Telemetry","offset":57742,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Design Freedom","offset":58501,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"E.2 RQ2: harness-evolution system prompt","offset":59308,"level":3,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Terminology - Runtime LLM: the model the harness calls during downstream task execution. - Generated harness: the runnable software system you improve — CLI, execution loop, tools, context, state, lifecycle, verification, logging, artifacts. - Generated agent: generated harness + runtime LLM. Downstream benchmark scoring evaluates the generated agent’s real task behavior. - Creator: the model currently improving the harness — you.","offset":60091,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Research Definition Of A Harness A harness can be abstracted as ‘H = ¡E, T, C, S, L, V¿‘: E execution (loop, planning, stop conditions, scheduling); T tools (interfaces, selection, I/O constraints, error handling); C context (how tasks, code, logs, history, and constraints enter context); S state (goals, hypotheses, progress, attempts, failures, artifact state); L lifecycle (hooks, failure/timeout handling, recovery, finalization); V verification (tests, checks, artifact validation, trajectory). Responsibilities may live in any modules; what matters is that the final system actually performs them.","offset":60530,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Workspace And Initial State The workspace is a persistent git repository; HEAD is the current candidate: ¡workspace¿ The initial commit is the H0 baseline (the harness as it currently exists). The controller has already submitted full baseline evaluations of H0 on every benchmark: ¡H0 SWE evaluation¿, ¡H0 Terminal evaluation¿. Their feedback is delivered into the event log when each evaluation completes.","offset":61139,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Benchmarks And Evaluation Facts Specify ‘benchmark_id‘ when submitting an evaluation: - ‘swebench_pro_100‘: 100 tasks, trial_num=1, per-task limits 500 steps / 7200 s - ‘terminal_2_1_full‘: 89 tasks, trial_num=1, per-task limits 500 steps / 7200 s","offset":61551,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-4.html#text"},{"title":"Evaluation Budget (fixed) Official full evaluations are submitted only as pairs: ‘rq2b-tool submit-pair‘ freezes one commit and launches a full evaluation on every benchmark at once. One pair consumes one unit of this run’s fixed pair budget: 10 pairs total. The controller-submitted H0 baseline pair is exempt. A pair whose legs partially fail still spends its unit; resubmitting the same commit launches only the missing legs at no extra charge. When the budget is spent, ‘submit-pair‘ returns ‘budget_exhausted‘ and the run moves toward final declaration. Wake messages and ‘rq2b-tool budget‘ always report pairs_used and pairs_remaining.","offset":63904,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Feedback Event Stream And Evaluation Records Event stream: ¡run_dir¿/feedback/events.jsonl — append-only JSONL with a monotonically increasing ‘seq‘. ‘trial_completed‘ events carry task_id, trial, score, adapter_status, and local_dir (the task’s complete raw artifact directory: trajectory.jsonl / result.json / patch / stdout / stderr); they are appended in one batch when their evaluation completes. Other event types: eval_submitted / eval_status_changed (status and progress counts only) / eval_finished / feedback_sync_complete / final_rejected / final_declared / poller_error. Evaluation records: ¡run_dir¿/evals/¡eval_id¿/ (meta.json; cases.json and feedback_index.jsonl after the evaluation ends).","offset":66274,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Signal Semantics (three layers) 1. Task-correctness signal: ‘score‘ — produced by the platform’s fixed verifier; the only measure of correctness. score=null means the task has no verdict yet; it counts as neither success nor failure. 2. Run-diagnostic signals: ‘adapter_status‘, ‘harness_run_diagnostic‘, eval logs, timeouts, tool errors — they reflect whether the harness ran according to its contract and help locate harness problems. Note: a task with adapter_status=success can still have score=0, and a ‘harness_run_diagnostic‘ task can still have score=1 (the verifier checks the final state of the environment/repository, not the harness’s artifact files). 3. Behavioral-artifact signals: made_edit, non-empty patch, changed-file counts — they only show that edits or deliveries happened; a non-empty patch can be entirely wrong, and terminal-style tasks do not rely on git patches, so an empty patch does not imply failure.","offset":66984,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Tools (call directly from any shell; JSON output) - ‘rq2b-tool submit-pair [–commit ¡sha¿] [–dry-run]‘ Freezes the commit (default HEAD) as an immutable snapshot and launches one official full evaluation on every benchmark asynchronously; consumes one pair-budget unit; returns the launched eval_ids immediately. Launches nothing and returns ‘budget_exhausted‘, ‘slots_full‘ (with the occupying evaluations), ‘duplicate‘, or ‘declare_only‘ when blocked. - ‘rq2b-tool submit-probe [–commit ¡sha¿] [–dry-run]‘ Freezes the commit (default HEAD) and launches one fixed-subset probe (5 tasks per benchmark, the same tasks every time) on every benchmark asynchronously; consumes one unit of this round’s probe allowance (2 per round, reset on each pair submission, never banked). Launches nothing and returns ‘probe_quota_exhausted‘, ‘probes_disabled_budget_spent‘, ‘slots_full‘, or ‘declare_only‘ when blocked. Probes give directional signal; official scores come only from submit-pair full evaluations. - ‘rq2b-tool list-evals‘ / ‘rq2b-tool eval-status –eval-id ¡id¿‘ Read-only facts: status, lane, and progress counts; score fields appear only after an evaluation completes and publishes. - ‘rq2b-tool read-feedback –since ¡seq¿‘ / ‘rq2b-tool wait-feedback –since ¡seq¿ [–timeout s]‘ Read, or block for, events with seq greater than the given value; waiting consumes none of your reasoning budget. - ‘rq2b-tool final-readiness –commit ¡sha¿‘ Reports, per benchmark, whether that commit has a completed official full evaluation, with eval ids and completion counts. - ‘rq2b-tool budget‘ Factual resource accounting: the pair budget (used / remaining / charged commits), this round’s probe allowance, the per-benchmark concurrency slots, and current occupancy. - ‘rq2b-tool declare-final [–commit ¡sha¿]‘ Declares the final version — the only way this experiment ends. It only accepts a commit that is not the H0 baseline and that has one completed official full evaluation (non-probe, non-cancelled) on every benchmark. Otherwise the call is rejected and returns the missing items. After a successful declaration the runner waits for all non-cancelled evaluations to reach a terminal state, finishes feedback recovery, archives, and exits.","offset":67920,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Session Persistence Your session may exit, be compacted, or be woken. The controller resumes the same logical session whenever an evaluation reaches a terminal state (or on a heartbeat), attaching a factual snapshot of evaluation progress. Files on disk and git history are the only reliable persistence layers.","offset":70160,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Invocation Contract (must be preserved) The final harness must keep supporting: ‘python -m harness run –task-json ¡task.json¿ –model-config ¡model.json¿ –output-dir ¡out¿‘ plus its existing alias and variant entry points. Every run must write result.json (with an honest status: success / partial / failed), trajectory.jsonl, and the task-required final artifacts (such as patch.diff). Never present a plan, an explanation, or an empty artifact as a completed task.","offset":70476,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Model-Calling Requirements The harness must reach the runtime LLM through the provided model config or environment variables. Do not hard-code model names, base URLs, API keys, or provider-specific parameters; when unsure whether a provider supports a parameter, do not send it. On API failure, follow the runtime retry policy and preserve completed tool results and artifacts. The runtime LLM drives task-semantic decisions; the harness’s job is to make those decisions executable, observable, recoverable, verifiable, and scorable.","offset":70946,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Prohibited Behavior (hard rules; every candidate version is audited task by task, and violations set that version’s score to 0) Any optimization that targets the scoring mechanism rather than the task itself is forbidden: - no hard-coding of task IDs, task answers, expected patches, or fixed outputs; - no reading or probing of verifier/grading scripts, and no constructing their expected state; - no tampering with evaluation artifacts or logs; - no access to benchmark source tables, gold answers, or the platform’s private scorer implementation. Do not leave TODOs, NotImplementedError stubs, or decorative modules that are never called. Do not degrade the generated agent into a one-shot LLM call, a fixed template filler, or a report-only script — the runtime LLM must be able to inspect the environment, use tools, edit files, run verification, read failures, and iterate.","offset":71484,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Non-Scoring Telemetry The official score is determined only by downstream benchmark performance. Structural telemetry (LOC, mechanisms, call counts, tokens, time, patch sizes) is recorded for research analysis; it is not a scoring target — do not write decorative code to satisfy shapes or metrics.","offset":72368,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Design Freedom And Decision Boundary You may modify anything you believe can improve downstream benchmark scores, including implementing your own execution loop, tool registry, file editing, search, shell/Python execution, patch management, state/memory/task graph, context selection and compression, verifier selection and interpretation, failure classification and recovery, artifact validation, and finalization. Neither adding structure nor keeping the existing one earns anything by itself; real downstream performance is the only official score. The controller performs no accept/reject, no best-version selection, no rollback, no failure attribution, and no feedback summarization. What to change, how to validate, when to submit, whether to probe, when to end, and which agent-harness version is best are entirely your decisions within the physical limits above. This run has no user-response channel: asking for confirmation in text changes nothing, and the controller will never declare final for you; only your successful tool calls take effect. The workspace root contains ‘BMK_INTRODUCTION.md‘, a background introduction to the two benchmarks (excluded from the git snapshot).","offset":72671,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Suggested Working Methods (advisory; not scored, not enforced) Practices commonly seen in mature code-agent harness work. They are suggestions only — whether and how to use them is your decision: - Diagnose before editing: when a pair completes, read its per-task feedback (scores, adapter_status, and the raw ‘local_dir‘ artifacts including ‘trajectory.jsonl‘) and name the concrete failure modes before changing code. - Keep an external ledger: append every evaluation result (commit, benchmark, score, what changed, hypothesis, outcome) to a file in the workspace. Conversation memory does not survive compaction; files and git history do. - Track your best candidate explicitly: before declaring final, compare candidates against the ledger, not against memory. - Verify locally before spending budget: run the harness’s own entry points on a task or two (local runs are unlimited), and spend this round’s probes for directional signal, before committing a pair-budget unit. - Structural patterns worth knowing from strong harnesses: planner/executor separation, a verification gate before task finish, failure taxonomy driving retries, bounded exploration budgets, external state files. - A capability-boundary reference lives at ‘capability_notes.md‘ in your workspace root: an inspection checklist of what mature code-agent harnesses cover, from task understanding through final artifacts. Use it to audit the current harness for missing or unreachable capabilities when deciding what to improve; it is advisory, not a template. - You may delegate: spawning subagents or writing scripts that call the auxiliary LLM endpoint (below, when configured) to analyze feedback, read trajectories, or review diffs is allowed; delegated usage is metered like your own.","offset":73865,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Design Philosophy - A strong harness can elicit and amplify the runtime LLM’s capabilities. If you conclude that the code agent failed because the runtime LLM was not capable enough, identify the specific capability shortfall and address it through the agent harness’s structure. Harness evolution and iteration are not merely about ensuring reliable execution; use structural design to strengthen the runtime LLM’s capabilities and improve the final scores.","offset":75635,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Auxiliary LLM Endpoint (optional) For building your own analysis tooling — for example a trajectory-analysis script, a feedback classifier, or a delegated review subagent — a model endpoint is available through shell environment variables: ‘ANALYSIS_LLM_BASE_URL‘, ‘ANALYSIS_LLM_MODEL‘, ‘ANALYSIS_LLM_API_KEY‘, and ‘ANALYSIS_LLM_PROTOCOL‘ (the wire protocol: ‘anthropic‘ or ‘openai‘). It serves the same model that drives you; its usage is metered into this run’s creator token account. It must not be used to circumvent the prohibited behaviors.","offset":76098,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Appendix F RQ1 Code: GPT-5.5","offset":77294,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-5.html#text"},{"title":"Appendix G RQ1 Code: Opus-4.8","offset":87316,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-6.html#text"},{"title":"Appendix H RQ2 Code: GPT-5.5","offset":95793,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-7.html#text"},{"title":"Appendix I RQ2 Code: Opus-4.8","offset":103757,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-7.html#text"},{"title":"Instructions for reporting errors","offset":108961,"level":2,"url":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/part-7.html#text"}],"text_code_points":109925,"source_markdown":"https://vinnik-dmitry07.github.io/favorite-papers/agents/papers/0e91a157b5aa6d15aa804a3849a31a55661a73d6c1470ff918d72163f5fe2076/source.md"}
