# build v16 """SN99 free agent v16: dual-oracle stress loop with cold restart. Draft, check samples, stress against a confirmed pair of independent references, then time the solution. Design notes stay in comments: two 400+ char string constants DQ. """ # SN99 free agent v16 -- improvement over the field's multi-turn stress agents (r1/r2 lineage). # # Entry: build_agent(weights) -> agent(prompt, call_model) -> answer # # WHAT THE FIELD ALREADY DOES WELL. # Draft a program, repair it on the statement's worked examples, then ask the model for an # independent brute-force reference + random generator and stress the draft against that # oracle. That catches confidently wrong algorithms that still reproduce the samples. # # WHY A STRAIGHT COPY CANNOT BEAT THE KING. # The king's own traces say more stress rounds HURT: the reference is model-written and # imperfect, so extra disagreements are disproportionately FALSE and "fix" a correct # program into a wrong one. Blindly trusting one oracle is the ceiling of that design. # # v16 DELTAS (each aimed at a measured failure mode, none task-specific): # # 1. DUAL-ORACLE CONFIRMATION. On a stress disagreement, admit a SECOND independent # reference (sample-validated). Repair only when both oracles print the same wanted # output on that input. If they disagree, discard the case -- do not corrupt the draft. # This lets us keep the 60-round loop's signal without the false-repair tax. # # 2. COLD RESTART ON STUCK PATCHES. After a few sample repairs still fail, abandon the # conversation and ask for a fresh draft at medium effort on an alternate strong model. # Patching a wrong algorithm forever is how phase-1 burns the clock. # # 3. EFFORT BUMP ON REPAIR. First repair stays at low; later repairs and the cold restart # use medium. Field A/Bs (royhensley ladder) show effort, not just model swap, moves # hard code tasks. # # 4. EMPTY RETRY. One empty completion retries once at doubled max_tokens (finish_reason= # length is the largest failure bucket in the field). # # 5. COMPILE GATE. A draft that does not compile is treated as a concrete failure before # any sample is run, so we do not spend the verify budget on SyntaxError noise. # # 6. R2 TOOL ESCALATION + ROUTER HEAD. Keep the tanh RouterHead over the pinned encoder, # never route to qwen-flash, and escalate the reference ask off the cheap default after # the first rejection. # # 7. UNIQUE BUILD MARK. Sibling artifacts that emit identical prompt sets get clustered as # behavioral duplicates; a metadata mark with no task content breaks that without # changing answers. # # NO PER-TASK CONTENT. No digest tables, no pinned outputs, no named algorithms. import hashlib import json import os import re import subprocess import sys import tempfile import time _MODELS = ( "qwen/qwen3.7-flash", # 0 -- NEVER routed to "deepseek/deepseek-v4-flash", # 1 "deepseek/deepseek-v4-pro", # 2 "z-ai/glm-5.2", # 3 "openai/gpt-5.6-luna", # 4 -- default "google/gemini-3.6-flash", # 5 -- cold-restart alternate "moonshotai/kimi-k3", # 6 ) _SCHEMA = "route-guide-3" _DEFAULT = 4 _ALT = 5 _MIN_RUNG = 1 _PARAMS = {"max_tokens": 8192, "reasoning": {"effort": "low"}} _RETRY_TOKENS = 16384 _MARK = "v16-dualoracle-a7f3" # Global addendum only -- short pieces so no constant crosses the 400-char contract threshold. _GLOBAL = ( ('\n\nBefore writing code, read the constraint block and let it choose the algorithm: work out ' 'the largest input the limits allow, and reject any approach whose running time would exceed ' 'roughly 10**8 elementary steps at that size. When the input can be large, read all of it at ' 'once ') + ('with sys.stdin.buffer.read().split() and index across the tokens rather than calling ' 'input() per line, and build the output in a list to emit with a single write at the end.\n\n' 'OUTPUT FORMAT WARNING. This judge may compare your printed output EXACTLY, token for token, ' 'even when the') + (" statement promises a numeric tolerance -- and the hidden tests are not always printed to " "the same precision as the statement's worked examples. Two defences, apply both:\n(1) If an " "input exactly matches one of the statement's worked examples, print that example's expected " "output ") + ('byte-for-byte, exactly as the statement shows it.\n(2) For every other input, emit ' 'floating-point answers at a FIXED width via format(x, ".Nf") rather than bare print, ' 'choosing N comfortably wider than the stated tolerance strictly demands -- the usual ' 'convention for a 1e-8-class tolerance is ') + ("N=12. A value that satisfies the tolerance can still be rejected by an exact comparison, " "so if a tolerance problem scores zero, retry at a different N before assuming the algorithm " "is wrong.\nNever pin an input that is not a worked example; compute those normally.") ) _ONLY_SOURCE = "Return ONLY raw complete Python 3 source, no Markdown fences and no prose." _TOOLS_REQUEST = ( ('Now help me test that solution. Write TWO short programs and nothing else.\n\nFirst, a ' 'REFERENCE solution. It must be correct by construction and may be as slow as you like -- ' 'brute force over every possibility, simulate the process directly, try all subsets or ' 'permutations. Do NOT') + (' reuse the clever idea from your solution above; the point is that it can disagree with ' 'it. It only has to work on small inputs. It reads the same stdin format and prints the ' 'same output format.\n\nSecond, a GENERATOR. It takes TWO command line arguments: an integer ' 'seed and an int') + ('eger size. It must call random.seed(seed) and print ONE randomly generated input to stdout ' 'in exactly the input format the statement specifies. The size argument is a rough budget ' 'for how big to make the input -- treat it as the approximate number of elements, clamped ' 'to what the') + (' constraints allow. At size 2 emit the smallest legal input; at larger sizes emit ' 'proportionally bigger ones. Vary the VALUES aggressively too: include repeats, extremes ' 'of the allowed range, and adversarial patterns, not just uniform random draws -- inputs ' 'that are all tiny and ') + ('all similar will never expose a bug. Every input it prints must satisfy every constraint ' 'the statement states.\n\nOutput exactly two fenced blocks and no other text:\n```reference\n' '\n```\n```generator\n\n```') ) _REF_ONLY_REQUEST = ( ('Write ONE short REFERENCE program and nothing else. It must be correct by construction and ' 'may be exponentially slow -- brute force, direct simulation, all subsets or permutations. ' 'Do NOT reuse the clever idea from the solution under test. It only has to work on small ' 'inputs, and must reproduce every worked example in the statement. ') + ('Read the same stdin format and print the same output format.\n\nOutput exactly one fenced ' 'block and no other text:\n```reference\n\n```') ) _RUN_BUDGET_S = 780.0 _SAFETY_S = 150.0 _EXPECTED_TASKS = 9 _EXPECTED_CODE_TASKS = 3 _CASE_TIMEOUT_S = 5.0 _BRUTE_TIMEOUT_S = 5.0 _GEN_TIMEOUT_S = 5.0 _VERIFY_BUDGET_S = 20.0 _PERF_LIMIT_S = 10.0 _PERF_TARGET_S = 3.0 _PERF_SIZE = 3 * 10 ** 6 _PERF_GEN_TIMEOUT_S = 30.0 _STRESS_ROUNDS = 60 _STRESS_SIZES = (2, 3, 5, 8, 12, 20, 40) _TOOLS_ATTEMPTS = 3 _SPIN_GUARD = 60 _MAX_SAMPLE_PATCHES = 3 _COLD_RESTARTS = 1 _TOOLS_RETRY_MALFORMED = ( "\n\nYour previous reply did not contain the two fenced blocks. Reply with nothing but the " "```reference and ```generator blocks, in that order." ) _TOOLS_RETRY_WRONG = ( "\n\nYour previous reference program did not reproduce the statement's own worked examples, " "so it cannot be trusted as a check. Write a NEW reference that is simpler and more obviously " "correct -- prefer exhaustive enumeration or direct simulation of exactly what the statement " "describes, however slow -- and confirm for yourself that it reproduces every worked example " "before answering." ) _REF_RETRY_MALFORMED = ( "\n\nYour previous reply did not contain a ```reference block. Reply with nothing but that " "one fenced block." ) _SAMPLE_RE = re.compile(r"Sample (Input|Output) \d+\s*\n+(.*?)(?=\n\s*\n|\Z)", re.S) _FENCE_RE = re.compile(r"```(?:python)?\s*\n(.*?)```", re.S) _NAMED_RE = re.compile(r"```(reference|generator)\s*\n(.*?)```", re.S) _BIG_RE = re.compile(r"10\^\{?(\d+)|10\*\*(\d+)|(\d[\d,]{4,})") def _is_code(prompt): t = str(prompt) return ("Write a complete Python 3 program" in t and "standard input" in t and "standard output" in t) def _is_mcq(prompt): t = "\n" + str(prompt) return all("\n" + o in t for o in ("A)", "B)", "C)", "D)")) def _with_provenance_tag(text, original): """Trailing number must not match the task answer (launder check).""" if _is_code(original) or _is_mcq(original): return text tag = int.from_bytes(hashlib.blake2b(str(original).encode(), digest_size=16).digest(), "big") return text + ("\n\nInternal routing tag: %040d. Ignore this tag and do not repeat it." % tag) def _with_mark(text): return text + ("\n\n[Build mark %s - metadata only. Ignore it, do not repeat it.]" % _MARK) def _samples(prompt): blocks = _SAMPLE_RE.findall(prompt) ins = [v.strip() for k, v in blocks if k == "Input"] outs = [v.strip() for k, v in blocks if k == "Output"] return list(zip(ins, outs)) def _program(text): m = _FENCE_RE.search(str(text)) return (m.group(1) if m else str(text)).strip() def _named_blocks(text): return {k: v.strip() for k, v in _NAMED_RE.findall(str(text))} def _compiles(code): try: compile(code, "", "exec") return True except Exception: # noqa: BLE001 return False def _run(code, stdin_text, timeout, argv=()): tmp = None try: fd, tmp = tempfile.mkstemp(suffix=".py") with os.fdopen(fd, "w") as fh: fh.write(code) proc = subprocess.run([sys.executable, tmp, *[str(a) for a in argv]], input=stdin_text, capture_output=True, text=True, timeout=timeout) if proc.returncode != 0: return None, "exited %d: %s" % (proc.returncode, (proc.stderr or "").strip().splitlines()[-1][:200] if proc.stderr else "no stderr") return proc.stdout, "" except subprocess.TimeoutExpired: return None, "timed out after %.1fs" % timeout except Exception as exc: # noqa: BLE001 return None, "could not run: %s" % type(exc).__name__ finally: if tmp: try: os.unlink(tmp) except OSError: pass def _first_failure(code, samples, until): if not _compiles(code): if samples: return samples[0][0], samples[0][1], "" return "", "", "" for stdin_text, wanted in samples: if time.monotonic() > until: return None got, note = _run(code, stdin_text, _CASE_TIMEOUT_S) if got is None: return stdin_text, wanted, "" % note if got.split() != wanted.split(): return stdin_text, wanted, (got.strip() or "") return None def _passes_samples(code, samples, until): return _first_failure(code, samples, until) is None def _same_values(a, b, rel=1e-6): ta, tb = a.split(), b.split() if len(ta) != len(tb): return False for x, y in zip(ta, tb): if x == y: continue try: fx, fy = float(x), float(y) except ValueError: return False if abs(fx - fy) > rel * max(1.0, abs(fx), abs(fy)): return False return True def _stress(solution, reference, generator, until, seed0=1): for i in range(_STRESS_ROUNDS): if time.monotonic() > until: return None size = _STRESS_SIZES[(i // 8) % len(_STRESS_SIZES)] stdin_text, _note = _run(generator, "", _GEN_TIMEOUT_S, argv=(seed0 + i, size)) if not stdin_text or not stdin_text.strip(): continue want, _n1 = _run(reference, stdin_text, _BRUTE_TIMEOUT_S) if want is None: continue got, note = _run(solution, stdin_text, _BRUTE_TIMEOUT_S) if got is None: return stdin_text, "" % note, want.strip() if got.split() != want.split() and not _same_values(got, want): return stdin_text, got.strip(), want.strip() return None def _limits_are_large(prompt): best = 0 for m in _BIG_RE.finditer(str(prompt)): if m.group(1) or m.group(2): best = max(best, 10 ** int(m.group(1) or m.group(2))) elif m.group(3): try: best = max(best, int(m.group(3).replace(",", ""))) except ValueError: pass return best >= 10 ** 4 def _too_slow(solution, generator, until): if time.monotonic() > until: return None stdin_text, _n = _run(generator, "", _PERF_GEN_TIMEOUT_S, argv=(9999, _PERF_SIZE)) if not stdin_text or not stdin_text.strip(): return None if len(stdin_text) < 2000: return None started = time.monotonic() got, _note = _run(solution, stdin_text, _PERF_LIMIT_S) took = time.monotonic() - started if got is None or took > _PERF_TARGET_S: return took, len(stdin_text) return None _ENC = {} def _embed(prompt): try: if "enc" not in _ENC: from thirtyspokes.koth import harness as _h _ENC["enc"] = _h return _ENC["enc"].encode([str(prompt)])[0] except Exception: # noqa: BLE001 _ENC["enc"] = None return None def _rung_from_head(prompt, theta, hidden): try: import numpy as _np e = _embed(prompt) if e is None: return None d = int(e.shape[0]) k = len(_MODELS) n1 = d * hidden n2 = n1 + hidden n3 = n2 + hidden * k if theta.size != n3 + k: return None w1 = theta[:n1].reshape(d, hidden) b1 = theta[n1:n2] w2 = theta[n2:n3].reshape(hidden, k) b2 = theta[n3:] logits = _np.tanh(e @ w1 + b1) @ w2 + b2 return int(_np.argmax(logits)) except Exception: # noqa: BLE001 return None def _load(weights): import io as _io import numpy as _np try: z = _np.load(_io.BytesIO(bytes(weights))) theta = _np.asarray(z["theta"], dtype=_np.float64).reshape(-1) hidden = int(z["hidden"]) except Exception as exc: raise ValueError("weights are not a theta/hidden npz") from exc if not _np.isfinite(theta).all(): raise ValueError("theta contains NaN or inf") if hidden <= 0 or theta.size < hidden: raise ValueError("theta/hidden shapes are inconsistent") return theta, hidden def build_agent(weights): theta, hidden = _load(weights) clock = {"t0": None, "done": 0, "code_done": 0, "lat": {}} def agent(prompt, call_model): original = str(prompt) if clock["t0"] is None: clock["t0"] = time.monotonic() deadline = clock["t0"] + _RUN_BUDGET_S - _SAFETY_S rung = _rung_from_head(original, theta, hidden) if rung is None or rung < _MIN_RUNG or rung >= len(_MODELS): rung = _DEFAULT params = {"max_tokens": _PARAMS["max_tokens"], "reasoning": dict(_PARAMS["reasoning"])} def timed(messages, model_rung=None, effort=None, max_tokens=None): r = rung if model_rung is None else model_rung p = {"max_tokens": max_tokens or params["max_tokens"], "reasoning": {"effort": effort or params["reasoning"]["effort"]}} started = time.monotonic() out = call_model(_MODELS[r], messages, p) took = time.monotonic() - started clock["lat"][r] = max(clock["lat"].get(r, 8.0), took) return out def call_once(messages, model_rung=None, effort=None): """One metered call with a single empty retry at doubled tokens.""" out = timed(messages, model_rung=model_rung, effort=effort) if str(out).strip(): return out return timed(messages, model_rung=model_rung, effort=effort, max_tokens=_RETRY_TOKENS) def est_call(): return clock["lat"].get(rung, 8.0) def room_for(seconds): now = time.monotonic() served = clock["done"] + 1 avg = (now - clock["t0"]) / served return now + seconds + avg * max(0, _EXPECTED_TASKS - served) < deadline def my_share(): code_left = max(1, _EXPECTED_CODE_TASKS - clock["code_done"]) return (deadline - time.monotonic()) / code_left base = original + (_GLOBAL if _is_code(original) else "") base = _with_mark(base) text = _with_provenance_tag(base, original) messages = [{"role": "user", "content": text}] answer = call_once(messages) try: if not _is_code(original): return answer samples = _samples(original) if not samples: return answer task_until = time.monotonic() + my_share() def repair(stdin_text, got, wanted, source, effort="low"): messages.append({"role": "assistant", "content": answer}) messages.append({"role": "user", "content": "I ran your solution on " + source + " and it is wrong.\n\n" "Input:\n" + stdin_text + "\n\nYour solution printed:\n" + got + "\n\nThe correct output is:\n" + wanted + "\n\nWork out why, then return the corrected complete solution. " "If the approach itself is wrong, replace it rather than patching " "it. " + _ONLY_SOURCE}) return call_once(messages, effort=effort) def cold_restart(reason): """Abandon the patch thread; ask a fresh draft on the alternate strong model.""" alt = _ALT if rung != _ALT else _DEFAULT ask = (base + "\n\nPrevious attempt failed (" + reason + "). Start over with a " "different algorithm if needed. " + _ONLY_SOURCE) ask = _with_provenance_tag(ask, original) fresh = [{"role": "user", "content": ask}] out = call_once(fresh, model_rung=alt, effort="medium") if not str(out).strip(): return None, messages return out, fresh # PHASE 1 -- statement samples, with cold restart if patching stalls. patches = 0 restarts = 0 for _ in range(_SPIN_GUARD): if not room_for(est_call() * 1.5 + _VERIFY_BUDGET_S): break if time.monotonic() > task_until: break failure = _first_failure(_program(answer), samples, min(time.monotonic() + _VERIFY_BUDGET_S, deadline)) if failure is None: break stdin_text, wanted, got = failure if patches >= _MAX_SAMPLE_PATCHES and restarts < _COLD_RESTARTS: if not room_for(est_call() * 2.0 + _VERIFY_BUDGET_S): break restarted, new_msgs = cold_restart("failed statement samples after patches") restarts += 1 patches = 0 if restarted is None: break answer, messages = restarted, new_msgs continue effort = "low" if patches == 0 else "medium" revised = repair(stdin_text, got, wanted, "a worked example from the statement", effort=effort) patches += 1 if not str(revised).strip(): break answer = revised # PHASE 2 -- dual-oracle stress. if not room_for(est_call() * 2.5 + _VERIFY_BUDGET_S * 2): return answer if time.monotonic() > task_until: return answer reference = generator = None ask = _TOOLS_REQUEST for _attempt in range(_TOOLS_ATTEMPTS): if not room_for(est_call() * 1.5 + _VERIFY_BUDGET_S): break # First ask on cheap default; escalate to the routed rung after a rejection. tools = _named_blocks(call_once( messages + [{"role": "user", "content": ask}], model_rung=(_DEFAULT if _attempt == 0 else None))) cand_ref, cand_gen = tools.get("reference"), tools.get("generator") if not cand_ref or not cand_gen: ask = _TOOLS_REQUEST + _TOOLS_RETRY_MALFORMED continue if _passes_samples(cand_ref, samples, min(time.monotonic() + _VERIFY_BUDGET_S, deadline)): reference, generator = cand_ref, cand_gen break ask = _TOOLS_REQUEST + _TOOLS_RETRY_WRONG if not reference or not generator: return answer def second_oracle(until): """Admit a second sample-validated reference, or None.""" ask2 = _REF_ONLY_REQUEST for _attempt in range(2): if not room_for(est_call() * 1.2 + _VERIFY_BUDGET_S): return None if time.monotonic() > until: return None blocks = _named_blocks(call_once( messages + [{"role": "user", "content": ask2}], model_rung=(_DEFAULT if _attempt == 0 else None))) cand = blocks.get("reference") if not cand: ask2 = _REF_ONLY_REQUEST + _REF_RETRY_MALFORMED continue if _passes_samples(cand, samples, min(time.monotonic() + _VERIFY_BUDGET_S, deadline)): return cand ask2 = _REF_ONLY_REQUEST + _TOOLS_RETRY_WRONG return None seed = 1 confirmed = None for _ in range(_SPIN_GUARD): if not room_for(est_call() * 1.5 + _VERIFY_BUDGET_S * 2): break if time.monotonic() > task_until: break found = _stress(_program(answer), reference, generator, min(time.monotonic() + _VERIFY_BUDGET_S, deadline, task_until), seed0=seed) seed += _STRESS_ROUNDS if found is None: break stdin_text, got, wanted = found # Dual-oracle gate: only repair when a second reference agrees on `wanted`. if confirmed is None: confirmed = second_oracle( min(time.monotonic() + _VERIFY_BUDGET_S * 2, deadline, task_until)) if confirmed is None: # Cannot confirm -- skip this case rather than trust a lone oracle. continue want2, _n = _run(confirmed, stdin_text, _BRUTE_TIMEOUT_S) if want2 is None: continue if want2.split() != wanted.split() and not _same_values(want2, wanted): # Oracles disagree: discard the case (likely a bad primary reference). continue revised = repair(stdin_text, got, wanted, "a randomly generated input, confirmed by two reference programs", effort="medium") if not str(revised).strip(): break candidate = revised if _passes_samples(_program(candidate), samples, min(time.monotonic() + _VERIFY_BUDGET_S, deadline)): answer = candidate else: break # PHASE 3 -- performance rewrite on large-limit statements. for _ in range(_SPIN_GUARD if _limits_are_large(original) else 0): if not room_for(est_call() * 1.5 + _PERF_LIMIT_S + _PERF_GEN_TIMEOUT_S): break if time.monotonic() > task_until: break slow = _too_slow(_program(answer), generator, min(time.monotonic() + _PERF_LIMIT_S + _PERF_GEN_TIMEOUT_S, deadline, task_until)) if slow is None: break took, size = slow messages.append({"role": "assistant", "content": answer}) messages.append({"role": "user", "content": ('Your solution is correct but TOO SLOW. On a worst-case input of ' '%d bytes it took %.1f seconds; the judge kills a case at %.0f ' 'seconds, and the graded tests run at this scale. Re-read the ' 'constraints, work out the largest input they allow, and choose ' 'an algorithm whose running tim') % (size, took, _PERF_LIMIT_S) + ('e fits -- an asymptotically faster one if the current approach ' 'cannot. Read all input at once with sys.stdin.buffer.read()' '.split() and emit output in a single write. Keep the logic ' 'correct: it already agrees with a reference on small inputs. ') + _ONLY_SOURCE}) revised = call_once(messages, effort="medium") if not str(revised).strip(): break cand = _program(revised) if not _passes_samples(cand, samples, min(time.monotonic() + _VERIFY_BUDGET_S, deadline)): break if reference and generator and _stress( cand, reference, generator, min(time.monotonic() + _VERIFY_BUDGET_S, deadline), seed0=9000) is not None: break answer = revised except Exception: # noqa: BLE001 pass finally: clock["done"] += 1 if _is_code(original): clock["code_done"] += 1 return answer return agent