Modal Research Exchange

you are

GS1 kernel-baseline RL vs GRPO at an equal rollout budget on GSM8K

Succeeded weak evidence for Devin Qwen/Qwen3.5-2B RL 2.0 GPU-h budget started 12h ago 40m 21s
Redo
Pick where the agent works.
View session in Devin ↗

Ran grpo_gs8 (8x8) and gs1_kernel (64x1, kernel bandwidth 1.0 after the pre-registered calibration) for 40 steps each on shared Spindle (Qwen3.5-2B LoRA r32, one matched init checkpoint); final greedy GSM8K test accuracy was 0.7134 GRPO vs 0.7460 GS1 (base 0.7058). Paired effect +0.0326 with 95% Hoeffding interval [-0.0422, 0.1074] does not clear the -0.03 noninferiority margin, so noninferiority is not established.

Why GS1 scored 3.3 points above GRPO (984 vs 941 of 1319 paired items), but the paired 95% Hoeffding lower bound (-0.0422) is below the -0.03 margin, so the success criterion is not met and, per the protocol, the verdict is refuted (the exchange decision rule returns uncertain/insufficient_evidence). Confidence is weak: one seed and a wide Hoeffding interval (half-width ~0.075 at n=1319, so the 3-point margin is barely reachable), GS1 bandwidth 1.0 came from the pre-registered calibration after 0.5 failed the neighbor gate (7.97 < 8), the active optimizer is declared Adam (shared Spindle accepts only adam_params) but not server-verified, and shared Spindle rejects per-model seed=0 so matched init used one saved checkpoint (identical initial logprobs). The prior identical-spec run (run_5207121d26) measured -0.016 with GRPO at 0.781; here GRPO finished at 0.713, so the run-to-run variance of a single seed is comparable to the margin. Confidence is limited by: custom implementation correctness unverified; treatment activation failed; initialization and optimizer verification unverified; decision evidence unverified; feasibility evidence incomplete; the agent reported refuted, but the effect against the margin says supported; one seed. Reclassified from inconclusive under the direction-plus-confidence rule.

Result accuracy

Higher is better · Axis from 0.69 to 0.75, not zero
armaccuracycorrectn_evalstepsmean_train_rewardfrac_nonzero_advantagemean_step_secondsexecuted_group_size
base0.70589311,319—————
grpo_gs80.71349411,319400.6780.696931.98
gs1_kernel0.7469841,319400.6787125.031
2 more metrics under Evidence, All metrics.
Arms Devin reported complete: grpo_gs8, gs1_kernel
Changes from the spec 0

None reported: ran as specified.

Original hypothesis tested: yes

Checks · activation failed · evaluator comparable · feasibility unknown
Custom implementation correctness: unverified
gs1_kernel_advantage_loop: matching reference_revision; gs1_kernel_advantage_loop: matching baseline_revision
Validates executor-reported evidence; autonomous training calls are not blocked by this server.
Executor reported refuted; shown as weak evidence for.
Parity errors and accepted tolerances
[
  {
    "check": "baseline_loss",
    "measured": {
      "cosine_similarity": 1.0,
      "max_abs_error": 0.0,
      "reference_max_abs": 783.4791951064552,
      "relative_l2_error": 0.0
    },
    "path": "gs1_kernel_advantage_loop",
    "status": "passed",
    "tolerance": {
      "atol": 1e-06,
      "rtol": 1e-05
    }
  },
  {
    "check": "baseline_gradient",
    "measured": {
      "cosine_similarity": 1.0,
      "max_abs_error": 0.0,
      "reference_max_abs": 1.0809257631265885,
      "relative_l2_error": 0.0
    },
    "path": "gs1_kernel_advantage_loop",
    "status": "passed",
    "tolerance": {
      "atol": 1e-05,
      "min_cosine": 0.99999,
      "rtol": 0.0001
    }
  },
  {
    "check": "reference_loss",
    "measured": {
      "cosine_similarity": 1.0,
      "max_abs_error": 0.0,
      "reference_max_abs": 901.8301944397052,
      "relative_l2_error": 0.0
    },
    "path": "gs1_kernel_advantage_loop",
    "status": "passed",
    "tolerance": {
      "atol": 1e-06,
      "rtol": 1e-05
    }
  },
  {
    "check": "reference_gradient",
    "measured": {
      "cosine_similarity": 1.0,
      "max_abs_error": 0.0,
      "reference_max_abs": 1.2315145668947074,
      "relative_l2_error": 0.0
    },
    "path": "gs1_kernel_advantage_loop",
    "status": "passed",
    "tolerance": {
      "atol": 1e-05,
      "min_cosine": 0.99999,
      "rtol": 0.0001
    }
  }
]
Treatment activation: failed, so this run does not test the mechanism
Outside the prespecified range: executed_group_size_treatment = 1 (needs one of 1); executed_group_size_baseline = 8 (needs one of 8).
executed_group_size_treatment
1 needs one of 1 · failed
executed_group_size_baseline
8 needs one of 8 · failed
pilot_mean_reward
0.64375 needs >= 0.1 and <= 0.9 · passed
kernel_effective_neighbors_p10
25.98390984411989 needs >= 8 · passed
frac_nonzero_advantage_treatment
1.0 needs >= 0.5 · passed
baseline_reward_corr
0.3677739056650584 needs >= 0.1 · passed
Initialization / optimizer verification: unverified
grpo_gs8: active optimizer after restore 0 is unverified; a client declaration is insufficient.
Research decision: unverified
Observation file name/hash is not retained for this run.
Evaluator comparability: comparable
accuracy: comparable · base, grpo_gs8, gs1_kernel
Evaluator identities and per-arm scores
{
  "comparisons": [
    {
      "arms": [
        "grpo_gs8",
        "gs1_kernel"
      ],
      "metric": "accuracy"
    }
  ],
  "evaluators": {
    "5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70": {
      "code_manifest": {
        "dependency_versions": {
          "datasets": "5.1.0",
          "numpy": "2.5.4",
          "research-exchange": "0.1.0",
          "sympy": "1.14.0",
          "tinker": "0.37.0",
          "tinker-cookbook": "0.5.10.dev3+gf79fdb2ba",
          "tokenizers": "0.23.3",
          "torch": "2.15.0",
          "transformers": "5.22.1"
        },
        "files": {
          "cookbook/tinker_cookbook/completers.py": "199a89939f43444e42ea2dbf8aa19d679ba0666735ab564b30965e6a6f49b4fd",
          "cookbook/tinker_cookbook/recipes/math_rl/math_env.py": "51688df7c46e7dacd050be6a309bda76527c4b9a97a40ba276b2179b982c00b5",
          "cookbook/tinker_cookbook/recipes/math_rl/math_grading.py": "712b5ab7925bf7d9fea2a51560a2067e38725cf8cef276835efa64b90f9bd35e",
          "cookbook/tinker_cookbook/renderers/__init__.py": "49ae762f09c1e666a7155cc49c1a1d264aa3d21cba85731ee31c508b652e29ee",
          "cookbook/tinker_cookbook/renderers/base.py": "8701a6cc7c6f62eed0d9c9b693e1e7cb4d45aea43e264a08667a0abcf8b9a8da",
          "cookbook/tinker_cookbook/renderers/deepseek_v3.py": "b84fff4b680df65c5359919db1801b28c73503d1b35f49ec437d44cd95439ab6",
          "cookbook/tinker_cookbook/renderers/deepseek_v3_test.py": "9dd2de0eaf8d837a9362ce9a16326a3b4fb5d0806f3478e282787b981c54c3a4",
          "cookbook/tinker_cookbook/renderers/deepseek_v4_1.py": "370273e5af3526e3314f60e0895ac16c201e6a10a9a8cc58b9843cfde3eeaba2",
          "cookbook/tinker_cookbook/renderers/deepseek_v4_1_test.py": "abd2a0c9699de1df89e92ab3b622b9e10e85e23f3e5931b957d58c47e1099d2e",
          "cookbook/tinker_cookbook/renderers/glm5_3.py": "82c48f25006b0706a5dd276daf562fe1bf7a93c0842addabcb4bee3e13d2e290",
          "cookbook/tinker_cookbook/renderers/glm5_3_test.py": "20e51be003f02a021824722535815c0eb82aaa2ef878bba9863b1de472d1f881",
          "cookbook/tinker_cookbook/renderers/gpt_oss.py": "0f3975177f453399c83ea20ac213f0a178a2023e8314421dc801431dd46fd27d",
          "cookbook/tinker_cookbook/renderers/gpt_oss_test.py": "3a91df9164a65479e040d8cd6e705a2829cf28907f99dd94bf742c04529edf11",
          "cookbook/tinker_cookbook/renderers/image_token_count_test.py": "c1c5826a94f95c5431abe2ce6592f5fc7218416fe7faefc1f25cd1eb64fa55fa",
          "cookbook/tinker_cookbook/renderers/kimi_k2.py": "7c321a89346dd80cf3788a9018f57d60ac960ca74b2ef0e436d7e5166dd04e1d",
          "cookbook/tinker_cookbook/renderers/kimi_k25.py": "50dc849e1732514c533f2042b8c58dbc620386a3403107329062f6fbee02518c",
          "cookbook/tinker_cookbook/renderers/kimi_k25_test.py": "e82ba820538cca8aa5dcc24473f434633ec60a7b4c7021ac7e73ef6c46cd0017",
          "cookbook/tinker_cookbook/renderers/kimi_k26.py": "348ab2e12cb969428c72bf699f6361898eb6752f66cae7d03c8cea054c79dbd7",
          "cookbook/tinker_cookbook/renderers/kimi_k26_test.py": "0d250dfebd73c9d0008b41aedfab51198f69f0d273770ad87da74fd17d4a3cfe",
          "cookbook/tinker_cookbook/renderers/kimi_k2_5_tool_declaration_ts.py": "03d1677d2cb111e5c71521e433cb72e4e7aa1c758ef1cdb40a9c08f4a3935dc4",
          "cookbook/tinker_cookbook/renderers/kimi_k2_test.py": "8125a31e4225b22943b4e260241e840ede4b360ef8b88dd6549665aeed900ace",
          "cookbook/tinker_cookbook/renderers/kimi_k2_tool_declaration_test.py": "8d9332492405b629e8186333bafd0336fa3b6b7dd0963df7c8dd3cb6b5c68ccf",
          "cookbook/tinker_cookbook/renderers/llama3.py": "f729ea6c5f73843144a05c7edafa8a9653bdb81a6f7add82f3a0e9a05d425e4a",
          "cookbook/tinker_cookbook/renderers/nemotron3.py": "b554eea043cca28eb6086a22181204358ce40982dead2f2e3b2b524cb8bd887d",
          "cookbook/tinker_cookbook/renderers/nemotron3_5_super_test.py": "b65d5ee372a11f7892d3de060b47944ec8aadb89dcde9db5eb1b50de7b05b273",
          "cookbook/tinker_cookbook/renderers/nemotron3_test.py": "319e27f8d5f350e2f931fdaa3c7c4f552f2ddbbcc4c3117f490807b90b8ea38e",
          "cookbook/tinker_cookbook/renderers/parse_failure_test.py": "57ada2f378b3b8eedbc85348343251b32b140dda5090bab07f0d848ea57932f0",
          "cookbook/tinker_cookbook/renderers/parsing_test.py": "44df6921517b9282fb43718c89e9d7e4982847ac05b3b011e62e72a4fcaf70e0",
          "cookbook/tinker_cookbook/renderers/qwen3.py": "3e5388721083a5074883f6e4705fbbad6171a62a4b91205994ae662983d3250b",
          "cookbook/tinker_cookbook/renderers/qwen3_5.py": "74131b11bf356d9e582df63d6417825b2a43a26aae6150f97833bf72ad2eec10",
          "cookbook/tinker_cookbook/renderers/qwen3_8.py": "9416fe90ef4b0a81e83e8ccf0c9a94fcdf813d62698e85cb94cf8c11b99eacbe",
          "cookbook/tinker_cookbook/renderers/qwen3_8_test.py": "f2d8b55f451aa655ed95b2d47a27745969772b982f6e12808970c552c6beda7b",
          "cookbook/tinker_cookbook/renderers/qwen3_concurrency_test.py": "8f25f1ed41c240e6b1285020d08d7cb6ca72c4ad038d119b7fb21cb92e596441",
          "cookbook/tinker_cookbook/renderers/qwen3_test.py": "e34a832369c7dfefea36eb656a512c0318cd42c2007ccfe79be6bcce9ae5b8ff",
          "cookbook/tinker_cookbook/renderers/qwen3_tool_declaration_test.py": "ac112ec39808ed8f62943e5fc21a463c13f5712bc735880f8ef798a723d2da16",
          "cookbook/tinker_cookbook/renderers/renderer_pickle_test.py": "dd66ee8c26efec3c71060d455ef7d6f7ac85d3ff8b22b93938f9971e2221bd5e",
          "cookbook/tinker_cookbook/renderers/renderers_test.py": "d7ce692125a7146a49a515c744771ebb136979ca663d8b491ae8ab207f907ddd",
          "cookbook/tinker_cookbook/renderers/role_colon.py": "76e41debaae235a163eabed8d32ccc6d35dd0fdeecdffa3950974c90aeea74f4",
          "cookbook/tinker_cookbook/renderers/role_colon_test.py": "dfffcb299cd39b4fdebaebbac3a9788b84c72ce120f8841b70b7d572c48f13ee",
          "cookbook/tinker_cookbook/renderers/testing_utils.py": "e4b1f24fa6049362a4c1a1e4e13cb7ef2164ae4ad5268254d93257a6ddaffe2c",
          "cookbook/tinker_cookbook/renderers/tml_v0.py": "54f8639a5975dad1e199dd2c69df64f5e78ca54f378036e5aa51ad0e140da7a8",
          "cookbook/tinker_cookbook/renderers/tml_v0_test.py": "088202d065d0115ecb6f92fb91dd9f2f964c8f9fa16778a247c052acacc38878",
          "cookbook/tinker_cookbook/renderers/tool_calling_test.py": "c9702636fe6a53a0c74cf0a342d2659234f23ba962cdeb44184ae6d071061bf8",
          "cookbook/tinker_cookbook/rl/problem_env.py": "f4ea5eb8a27dfc13732100a3e7ccefe3f0eda4ad247acbfa01b8203d7b640406",
          "eval.py": "bd1685b8ff81d0ebabbeffbdd645f470bf51f2d54b885018a738c6bfe81ca177",
          "rx_gs1.py": "fca7ac94282999a136228f2bd6fce7944a20c4ac21959bbb8774fb93aa824202"
        }
      },
      "code_sha256": "8c6009f7253bcd59e9951ab66e24e21b88c1135d1760e450fa516db32837893a",
      "decoding": {
        "max_tokens": 512,
        "num_samples": 1,
        "stop": [
          248046
        ],
        "temperature": 0
      },
      "items": {
        "config": "main",
        "dataset": "openai/gsm8k",
        "ids": [
          "gsm8k-test-0000",
          "gsm8k-test-0001",
          "gsm8k-test-0002",
          "gsm8k-test-0003",
          "gsm8k-test-0004",
          "gsm8k-test-0005",
          "gsm8k-test-0006",
          "gsm8k-test-0007",
          "gsm8k-test-0008",
          "gsm8k-test-0009",
          "gsm8k-test-0010",
          "gsm8k-test-0011",
          "gsm8k-test-0012",
          "gsm8k-test-0013",
          "gsm8k-test-0014",
          "gsm8k-test-0015",
          "gsm8k-test-0016",
          "gsm8k-test-0017",
          "gsm8k-test-0018",
          "gsm8k-test-0019",
          "gsm8k-test-0020",
          "gsm8k-test-0021",
          "gsm8k-test-0022",
          "gsm8k-test-0023",
          "gsm8k-test-0024",
          "gsm8k-test-0025",
          "gsm8k-test-0026",
          "gsm8k-test-0027",
          "gsm8k-test-0028",
          "gsm8k-test-0029",
          "gsm8k-test-0030",
          "gsm8k-test-0031",
          "gsm8k-test-0032",
          "gsm8k-test-0033",
          "gsm8k-test-0034",
          "gsm8k-test-0035",
          "gsm8k-test-0036",
          "gsm8k-test-0037",
          "gsm8k-test-0038",
          "gsm8k-test-0039",
          "gsm8k-test-0040",
          "gsm8k-test-0041",
          "gsm8k-test-0042",
          "gsm8k-test-0043",
          "gsm8k-test-0044",
          "gsm8k-test-0045",
          "gsm8k-test-0046",
          "gsm8k-test-0047",
          "gsm8k-test-0048",
          "gsm8k-test-0049",
          "gsm8k-test-0050",
          "gsm8k-test-0051",
          "gsm8k-test-0052",
          "gsm8k-test-0053",
          "gsm8k-test-0054",
          "gsm8k-test-0055",
          "gsm8k-test-0056",
          "gsm8k-test-0057",
          "gsm8k-test-0058",
          "gsm8k-test-0059",
          "gsm8k-test-0060",
          "gsm8k-test-0061",
          "gsm8k-test-0062",
          "gsm8k-test-0063",
          "gsm8k-test-0064",
          "gsm8k-test-0065",
          "gsm8k-test-0066",
          "gsm8k-test-0067",
          "gsm8k-test-0068",
          "gsm8k-test-0069",
          "gsm8k-test-0070",
          "gsm8k-test-0071",
          "gsm8k-test-0072",
          "gsm8k-test-0073",
          "gsm8k-test-0074",
          "gsm8k-test-0075",
          "gsm8k-test-0076",
          "gsm8k-test-0077",
          "gsm8k-test-0078",
          "gsm8k-test-0079",
          "gsm8k-test-0080",
          "gsm8k-test-0081",
          "gsm8k-test-0082",
          "gsm8k-test-0083",
          "gsm8k-test-0084",
          "gsm8k-test-0085",
          "gsm8k-test-0086",
          "gsm8k-test-0087",
          "gsm8k-test-0088",
          "gsm8k-test-0089",
          "gsm8k-test-0090",
          "gsm8k-test-0091",
          "gsm8k-test-0092",
          "gsm8k-test-0093",
          "gsm8k-test-0094",
          "gsm8k-test-0095",
          "gsm8k-test-0096",
          "gsm8k-test-0097",
          "gsm8k-test-0098",
          "gsm8k-test-0099",
          "gsm8k-test-0100",
          "gsm8k-test-0101",
          "gsm8k-test-0102",
          "gsm8k-test-0103",
          "gsm8k-test-0104",
          "gsm8k-test-0105",
          "gsm8k-test-0106",
          "gsm8k-test-0107",
          "gsm8k-test-0108",
          "gsm8k-test-0109",
          "gsm8k-test-0110",
          "gsm8k-test-0111",
          "gsm8k-test-0112",
          "gsm8k-test-0113",
          "gsm8k-test-0114",
          "gsm8k-test-0115",
          "gsm8k-test-0116",
          "gsm8k-test-0117",
          "gsm8k-test-0118",
          "gsm8k-test-0119",
          "gsm8k-test-0120",
          "gsm8k-test-0121",
          "gsm8k-test-0122",
          "gsm8k-test-0123",
          "gsm8k-test-0124",
          "gsm8k-test-0125",
          "gsm8k-test-0126",
          "gsm8k-test-0127",
          "gsm8k-test-0128",
          "gsm8k-test-0129",
          "gsm8k-test-0130",
          "gsm8k-test-0131",
          "gsm8k-test-0132",
          "gsm8k-test-0133",
          "gsm8k-test-0134",
          "gsm8k-test-0135",
          "gsm8k-test-0136",
          "gsm8k-test-0137",
          "gsm8k-test-0138",
          "gsm8k-test-0139",
          "gsm8k-test-0140",
          "gsm8k-test-0141",
          "gsm8k-test-0142",
          "gsm8k-test-0143",
          "gsm8k-test-0144",
          "gsm8k-test-0145",
          "gsm8k-test-0146",
          "gsm8k-test-0147",
          "gsm8k-test-0148",
          "gsm8k-test-0149",
          "gsm8k-test-0150",
          "gsm8k-test-0151",
          "gsm8k-test-0152",
          "gsm8k-test-0153",
          "gsm8k-test-0154",
          "gsm8k-test-0155",
          "gsm8k-test-0156",
          "gsm8k-test-0157",
          "gsm8k-test-0158",
          "gsm8k-test-0159",
          "gsm8k-test-0160",
          "gsm8k-test-0161",
          "gsm8k-test-0162",
          "gsm8k-test-0163",
          "gsm8k-test-0164",
          "gsm8k-test-0165",
          "gsm8k-test-0166",
          "gsm8k-test-0167",
          "gsm8k-test-0168",
          "gsm8k-test-0169",
          "gsm8k-test-0170",
          "gsm8k-test-0171",
          "gsm8k-test-0172",
          "gsm8k-test-0173",
          "gsm8k-test-0174",
          "gsm8k-test-0175",
          "gsm8k-test-0176",
          "gsm8k-test-0177",
          "gsm8k-test-0178",
          "gsm8k-test-0179",
          "gsm8k-test-0180",
          "gsm8k-test-0181",
          "gsm8k-test-0182",
          "gsm8k-test-0183",
          "gsm8k-test-0184",
          "gsm8k-test-0185",
          "gsm8k-test-0186",
          "gsm8k-test-0187",
          "gsm8k-test-0188",
          "gsm8k-test-0189",
          "gsm8k-test-0190",
          "gsm8k-test-0191",
          "gsm8k-test-0192",
          "gsm8k-test-0193",
          "gsm8k-test-0194",
          "gsm8k-test-0195",
          "gsm8k-test-0196",
          "gsm8k-test-0197",
          "gsm8k-test-0198",
          "gsm8k-test-0199",
          "gsm8k-test-0200",
          "gsm8k-test-0201",
          "gsm8k-test-0202",
          "gsm8k-test-0203",
          "gsm8k-test-0204",
          "gsm8k-test-0205",
          "gsm8k-test-0206",
          "gsm8k-test-0207",
          "gsm8k-test-0208",
          "gsm8k-test-0209",
          "gsm8k-test-0210",
          "gsm8k-test-0211",
          "gsm8k-test-0212",
          "gsm8k-test-0213",
          "gsm8k-test-0214",
          "gsm8k-test-0215",
          "gsm8k-test-0216",
          "gsm8k-test-0217",
          "gsm8k-test-0218",
          "gsm8k-test-0219",
          "gsm8k-test-0220",
          "gsm8k-test-0221",
          "gsm8k-test-0222",
          "gsm8k-test-0223",
          "gsm8k-test-0224",
          "gsm8k-test-0225",
          "gsm8k-test-0226",
          "gsm8k-test-0227",
          "gsm8k-test-0228",
          "gsm8k-test-0229",
          "gsm8k-test-0230",
          "gsm8k-test-0231",
          "gsm8k-test-0232",
          "gsm8k-test-0233",
          "gsm8k-test-0234",
          "gsm8k-test-0235",
          "gsm8k-test-0236",
          "gsm8k-test-0237",
          "gsm8k-test-0238",
          "gsm8k-test-0239",
          "gsm8k-test-0240",
          "gsm8k-test-0241",
          "gsm8k-test-0242",
          "gsm8k-test-0243",
          "gsm8k-test-0244",
          "gsm8k-test-0245",
          "gsm8k-test-0246",
          "gsm8k-test-0247",
          "gsm8k-test-0248",
          "gsm8k-test-0249",
          "gsm8k-test-0250",
          "gsm8k-test-0251",
          "gsm8k-test-0252",
          "gsm8k-test-0253",
          "gsm8k-test-0254",
          "gsm8k-test-0255",
          "gsm8k-test-0256",
          "gsm8k-test-0257",
          "gsm8k-test-0258",
          "gsm8k-test-0259",
          "gsm8k-test-0260",
          "gsm8k-test-0261",
          "gsm8k-test-0262",
          "gsm8k-test-0263",
          "gsm8k-test-0264",
          "gsm8k-test-0265",
          "gsm8k-test-0266",
          "gsm8k-test-0267",
          "gsm8k-test-0268",
          "gsm8k-test-0269",
          "gsm8k-test-0270",
          "gsm8k-test-0271",
          "gsm8k-test-0272",
          "gsm8k-test-0273",
          "gsm8k-test-0274",
          "gsm8k-test-0275",
          "gsm8k-test-0276",
          "gsm8k-test-0277",
          "gsm8k-test-0278",
          "gsm8k-test-0279",
          "gsm8k-test-0280",
          "gsm8k-test-0281",
          "gsm8k-test-0282",
          "gsm8k-test-0283",
          "gsm8k-test-0284",
          "gsm8k-test-0285",
          "gsm8k-test-0286",
          "gsm8k-test-0287",
          "gsm8k-test-0288",
          "gsm8k-test-0289",
          "gsm8k-test-0290",
          "gsm8k-test-0291",
          "gsm8k-test-0292",
          "gsm8k-test-0293",
          "gsm8k-test-0294",
          "gsm8k-test-0295",
          "gsm8k-test-0296",
          "gsm8k-test-0297",
          "gsm8k-test-0298",
          "gsm8k-test-0299",
          "gsm8k-test-0300",
          "gsm8k-test-0301",
          "gsm8k-test-0302",
          "gsm8k-test-0303",
          "gsm8k-test-0304",
          "gsm8k-test-0305",
          "gsm8k-test-0306",
          "gsm8k-test-0307",
          "gsm8k-test-0308",
          "gsm8k-test-0309",
          "gsm8k-test-0310",
          "gsm8k-test-0311",
          "gsm8k-test-0312",
          "gsm8k-test-0313",
          "gsm8k-test-0314",
          "gsm8k-test-0315",
          "gsm8k-test-0316",
          "gsm8k-test-0317",
          "gsm8k-test-0318",
          "gsm8k-test-0319",
          "gsm8k-test-0320",
          "gsm8k-test-0321",
          "gsm8k-test-0322",
          "gsm8k-test-0323",
          "gsm8k-test-0324",
          "gsm8k-test-0325",
          "gsm8k-test-0326",
          "gsm8k-test-0327",
          "gsm8k-test-0328",
          "gsm8k-test-0329",
          "gsm8k-test-0330",
          "gsm8k-test-0331",
          "gsm8k-test-0332",
          "gsm8k-test-0333",
          "gsm8k-test-0334",
          "gsm8k-test-0335",
          "gsm8k-test-0336",
          "gsm8k-test-0337",
          "gsm8k-test-0338",
          "gsm8k-test-0339",
          "gsm8k-test-0340",
          "gsm8k-test-0341",
          "gsm8k-test-0342",
          "gsm8k-test-0343",
          "gsm8k-test-0344",
          "gsm8k-test-0345",
          "gsm8k-test-0346",
          "gsm8k-test-0347",
          "gsm8k-test-0348",
          "gsm8k-test-0349",
          "gsm8k-test-0350",
          "gsm8k-test-0351",
          "gsm8k-test-0352",
          "gsm8k-test-0353",
          "gsm8k-test-0354",
          "gsm8k-test-0355",
          "gsm8k-test-0356",
          "gsm8k-test-0357",
          "gsm8k-test-0358",
          "gsm8k-test-0359",
          "gsm8k-test-0360",
          "gsm8k-test-0361",
          "gsm8k-test-0362",
          "gsm8k-test-0363",
          "gsm8k-test-0364",
          "gsm8k-test-0365",
          "gsm8k-test-0366",
          "gsm8k-test-0367",
          "gsm8k-test-0368",
          "gsm8k-test-0369",
          "gsm8k-test-0370",
          "gsm8k-test-0371",
          "gsm8k-test-0372",
          "gsm8k-test-0373",
          "gsm8k-test-0374",
          "gsm8k-test-0375",
          "gsm8k-test-0376",
          "gsm8k-test-0377",
          "gsm8k-test-0378",
          "gsm8k-test-0379",
          "gsm8k-test-0380",
          "gsm8k-test-0381",
          "gsm8k-test-0382",
          "gsm8k-test-0383",
          "gsm8k-test-0384",
          "gsm8k-test-0385",
          "gsm8k-test-0386",
          "gsm8k-test-0387",
          "gsm8k-test-0388",
          "gsm8k-test-0389",
          "gsm8k-test-0390",
          "gsm8k-test-0391",
          "gsm8k-test-0392",
          "gsm8k-test-0393",
          "gsm8k-test-0394",
          "gsm8k-test-0395",
          "gsm8k-test-0396",
          "gsm8k-test-0397",
          "gsm8k-test-0398",
          "gsm8k-test-0399",
          "gsm8k-test-0400",
          "gsm8k-test-0401",
          "gsm8k-test-0402",
          "gsm8k-test-0403",
          "gsm8k-test-0404",
          "gsm8k-test-0405",
          "gsm8k-test-0406",
          "gsm8k-test-0407",
          "gsm8k-test-0408",
          "gsm8k-test-0409",
          "gsm8k-test-0410",
          "gsm8k-test-0411",
          "gsm8k-test-0412",
          "gsm8k-test-0413",
          "gsm8k-test-0414",
          "gsm8k-test-0415",
          "gsm8k-test-0416",
          "gsm8k-test-0417",
          "gsm8k-test-0418",
          "gsm8k-test-0419",
          "gsm8k-test-0420",
          "gsm8k-test-0421",
          "gsm8k-test-0422",
          "gsm8k-test-0423",
          "gsm8k-test-0424",
          "gsm8k-test-0425",
          "gsm8k-test-0426",
          "gsm8k-test-0427",
          "gsm8k-test-0428",
          "gsm8k-test-0429",
          "gsm8k-test-0430",
          "gsm8k-test-0431",
          "gsm8k-test-0432",
          "gsm8k-test-0433",
          "gsm8k-test-0434",
          "gsm8k-test-0435",
          "gsm8k-test-0436",
          "gsm8k-test-0437",
          "gsm8k-test-0438",
          "gsm8k-test-0439",
          "gsm8k-test-0440",
          "gsm8k-test-0441",
          "gsm8k-test-0442",
          "gsm8k-test-0443",
          "gsm8k-test-0444",
          "gsm8k-test-0445",
          "gsm8k-test-0446",
          "gsm8k-test-0447",
          "gsm8k-test-0448",
          "gsm8k-test-0449",
          "gsm8k-test-0450",
          "gsm8k-test-0451",
          "gsm8k-test-0452",
          "gsm8k-test-0453",
          "gsm8k-test-0454",
          "gsm8k-test-0455",
          "gsm8k-test-0456",
          "gsm8k-test-0457",
          "gsm8k-test-0458",
          "gsm8k-test-0459",
          "gsm8k-test-0460",
          "gsm8k-test-0461",
          "gsm8k-test-0462",
          "gsm8k-test-0463",
          "gsm8k-test-0464",
          "gsm8k-test-0465",
          "gsm8k-test-0466",
          "gsm8k-test-0467",
          "gsm8k-test-0468",
          "gsm8k-test-0469",
          "gsm8k-test-0470",
          "gsm8k-test-0471",
          "gsm8k-test-0472",
          "gsm8k-test-0473",
          "gsm8k-test-0474",
          "gsm8k-test-0475",
          "gsm8k-test-0476",
          "gsm8k-test-0477",
          "gsm8k-test-0478",
          "gsm8k-test-0479",
          "gsm8k-test-0480",
          "gsm8k-test-0481",
          "gsm8k-test-0482",
          "gsm8k-test-0483",
          "gsm8k-test-0484",
          "gsm8k-test-0485",
          "gsm8k-test-0486",
          "gsm8k-test-0487",
          "gsm8k-test-0488",
          "gsm8k-test-0489",
          "gsm8k-test-0490",
          "gsm8k-test-0491",
          "gsm8k-test-0492",
          "gsm8k-test-0493",
          "gsm8k-test-0494",
          "gsm8k-test-0495",
          "gsm8k-test-0496",
          "gsm8k-test-0497",
          "gsm8k-test-0498",
          "gsm8k-test-0499",
          "gsm8k-test-0500",
          "gsm8k-test-0501",
          "gsm8k-test-0502",
          "gsm8k-test-0503",
          "gsm8k-test-0504",
          "gsm8k-test-0505",
          "gsm8k-test-0506",
          "gsm8k-test-0507",
          "gsm8k-test-0508",
          "gsm8k-test-0509",
          "gsm8k-test-0510",
          "gsm8k-test-0511",
          "gsm8k-test-0512",
          "gsm8k-test-0513",
          "gsm8k-test-0514",
          "gsm8k-test-0515",
          "gsm8k-test-0516",
          "gsm8k-test-0517",
          "gsm8k-test-0518",
          "gsm8k-test-0519",
          "gsm8k-test-0520",
          "gsm8k-test-0521",
          "gsm8k-test-0522",
          "gsm8k-test-0523",
          "gsm8k-test-0524",
          "gsm8k-test-0525",
          "gsm8k-test-0526",
          "gsm8k-test-0527",
          "gsm8k-test-0528",
          "gsm8k-test-0529",
          "gsm8k-test-0530",
          "gsm8k-test-0531",
          "gsm8k-test-0532",
          "gsm8k-test-0533",
          "gsm8k-test-0534",
          "gsm8k-test-0535",
          "gsm8k-test-0536",
          "gsm8k-test-0537",
          "gsm8k-test-0538",
          "gsm8k-test-0539",
          "gsm8k-test-0540",
          "gsm8k-test-0541",
          "gsm8k-test-0542",
          "gsm8k-test-0543",
          "gsm8k-test-0544",
          "gsm8k-test-0545",
          "gsm8k-test-0546",
          "gsm8k-test-0547",
          "gsm8k-test-0548",
          "gsm8k-test-0549",
          "gsm8k-test-0550",
          "gsm8k-test-0551",
          "gsm8k-test-0552",
          "gsm8k-test-0553",
          "gsm8k-test-0554",
          "gsm8k-test-0555",
          "gsm8k-test-0556",
          "gsm8k-test-0557",
          "gsm8k-test-0558",
          "gsm8k-test-0559",
          "gsm8k-test-0560",
          "gsm8k-test-0561",
          "gsm8k-test-0562",
          "gsm8k-test-0563",
          "gsm8k-test-0564",
          "gsm8k-test-0565",
          "gsm8k-test-0566",
          "gsm8k-test-0567",
          "gsm8k-test-0568",
          "gsm8k-test-0569",
          "gsm8k-test-0570",
          "gsm8k-test-0571",
          "gsm8k-test-0572",
          "gsm8k-test-0573",
          "gsm8k-test-0574",
          "gsm8k-test-0575",
          "gsm8k-test-0576",
          "gsm8k-test-0577",
          "gsm8k-test-0578",
          "gsm8k-test-0579",
          "gsm8k-test-0580",
          "gsm8k-test-0581",
          "gsm8k-test-0582",
          "gsm8k-test-0583",
          "gsm8k-test-0584",
          "gsm8k-test-0585",
          "gsm8k-test-0586",
          "gsm8k-test-0587",
          "gsm8k-test-0588",
          "gsm8k-test-0589",
          "gsm8k-test-0590",
          "gsm8k-test-0591",
          "gsm8k-test-0592",
          "gsm8k-test-0593",
          "gsm8k-test-0594",
          "gsm8k-test-0595",
          "gsm8k-test-0596",
          "gsm8k-test-0597",
          "gsm8k-test-0598",
          "gsm8k-test-0599",
          "gsm8k-test-0600",
          "gsm8k-test-0601",
          "gsm8k-test-0602",
          "gsm8k-test-0603",
          "gsm8k-test-0604",
          "gsm8k-test-0605",
          "gsm8k-test-0606",
          "gsm8k-test-0607",
          "gsm8k-test-0608",
          "gsm8k-test-0609",
          "gsm8k-test-0610",
          "gsm8k-test-0611",
          "gsm8k-test-0612",
          "gsm8k-test-0613",
          "gsm8k-test-0614",
          "gsm8k-test-0615",
          "gsm8k-test-0616",
          "gsm8k-test-0617",
          "gsm8k-test-0618",
          "gsm8k-test-0619",
          "gsm8k-test-0620",
          "gsm8k-test-0621",
          "gsm8k-test-0622",
          "gsm8k-test-0623",
          "gsm8k-test-0624",
          "gsm8k-test-0625",
          "gsm8k-test-0626",
          "gsm8k-test-0627",
          "gsm8k-test-0628",
          "gsm8k-test-0629",
          "gsm8k-test-0630",
          "gsm8k-test-0631",
          "gsm8k-test-0632",
          "gsm8k-test-0633",
          "gsm8k-test-0634",
          "gsm8k-test-0635",
          "gsm8k-test-0636",
          "gsm8k-test-0637",
          "gsm8k-test-0638",
          "gsm8k-test-0639",
          "gsm8k-test-0640",
          "gsm8k-test-0641",
          "gsm8k-test-0642",
          "gsm8k-test-0643",
          "gsm8k-test-0644",
          "gsm8k-test-0645",
          "gsm8k-test-0646",
          "gsm8k-test-0647",
          "gsm8k-test-0648",
          "gsm8k-test-0649",
          "gsm8k-test-0650",
          "gsm8k-test-0651",
          "gsm8k-test-0652",
          "gsm8k-test-0653",
          "gsm8k-test-0654",
          "gsm8k-test-0655",
          "gsm8k-test-0656",
          "gsm8k-test-0657",
          "gsm8k-test-0658",
          "gsm8k-test-0659",
          "gsm8k-test-0660",
          "gsm8k-test-0661",
          "gsm8k-test-0662",
          "gsm8k-test-0663",
          "gsm8k-test-0664",
          "gsm8k-test-0665",
          "gsm8k-test-0666",
          "gsm8k-test-0667",
          "gsm8k-test-0668",
          "gsm8k-test-0669",
          "gsm8k-test-0670",
          "gsm8k-test-0671",
          "gsm8k-test-0672",
          "gsm8k-test-0673",
          "gsm8k-test-0674",
          "gsm8k-test-0675",
          "gsm8k-test-0676",
          "gsm8k-test-0677",
          "gsm8k-test-0678",
          "gsm8k-test-0679",
          "gsm8k-test-0680",
          "gsm8k-test-0681",
          "gsm8k-test-0682",
          "gsm8k-test-0683",
          "gsm8k-test-0684",
          "gsm8k-test-0685",
          "gsm8k-test-0686",
          "gsm8k-test-0687",
          "gsm8k-test-0688",
          "gsm8k-test-0689",
          "gsm8k-test-0690",
          "gsm8k-test-0691",
          "gsm8k-test-0692",
          "gsm8k-test-0693",
          "gsm8k-test-0694",
          "gsm8k-test-0695",
          "gsm8k-test-0696",
          "gsm8k-test-0697",
          "gsm8k-test-0698",
          "gsm8k-test-0699",
          "gsm8k-test-0700",
          "gsm8k-test-0701",
          "gsm8k-test-0702",
          "gsm8k-test-0703",
          "gsm8k-test-0704",
          "gsm8k-test-0705",
          "gsm8k-test-0706",
          "gsm8k-test-0707",
          "gsm8k-test-0708",
          "gsm8k-test-0709",
          "gsm8k-test-0710",
          "gsm8k-test-0711",
          "gsm8k-test-0712",
          "gsm8k-test-0713",
          "gsm8k-test-0714",
          "gsm8k-test-0715",
          "gsm8k-test-0716",
          "gsm8k-test-0717",
          "gsm8k-test-0718",
          "gsm8k-test-0719",
          "gsm8k-test-0720",
          "gsm8k-test-0721",
          "gsm8k-test-0722",
          "gsm8k-test-0723",
          "gsm8k-test-0724",
          "gsm8k-test-0725",
          "gsm8k-test-0726",
          "gsm8k-test-0727",
          "gsm8k-test-0728",
          "gsm8k-test-0729",
          "gsm8k-test-0730",
          "gsm8k-test-0731",
          "gsm8k-test-0732",
          "gsm8k-test-0733",
          "gsm8k-test-0734",
          "gsm8k-test-0735",
          "gsm8k-test-0736",
          "gsm8k-test-0737",
          "gsm8k-test-0738",
          "gsm8k-test-0739",
          "gsm8k-test-0740",
          "gsm8k-test-0741",
          "gsm8k-test-0742",
          "gsm8k-test-0743",
          "gsm8k-test-0744",
          "gsm8k-test-0745",
          "gsm8k-test-0746",
          "gsm8k-test-0747",
          "gsm8k-test-0748",
          "gsm8k-test-0749",
          "gsm8k-test-0750",
          "gsm8k-test-0751",
          "gsm8k-test-0752",
          "gsm8k-test-0753",
          "gsm8k-test-0754",
          "gsm8k-test-0755",
          "gsm8k-test-0756",
          "gsm8k-test-0757",
          "gsm8k-test-0758",
          "gsm8k-test-0759",
          "gsm8k-test-0760",
          "gsm8k-test-0761",
          "gsm8k-test-0762",
          "gsm8k-test-0763",
          "gsm8k-test-0764",
          "gsm8k-test-0765",
          "gsm8k-test-0766",
          "gsm8k-test-0767",
          "gsm8k-test-0768",
          "gsm8k-test-0769",
          "gsm8k-test-0770",
          "gsm8k-test-0771",
          "gsm8k-test-0772",
          "gsm8k-test-0773",
          "gsm8k-test-0774",
          "gsm8k-test-0775",
          "gsm8k-test-0776",
          "gsm8k-test-0777",
          "gsm8k-test-0778",
          "gsm8k-test-0779",
          "gsm8k-test-0780",
          "gsm8k-test-0781",
          "gsm8k-test-0782",
          "gsm8k-test-0783",
          "gsm8k-test-0784",
          "gsm8k-test-0785",
          "gsm8k-test-0786",
          "gsm8k-test-0787",
          "gsm8k-test-0788",
          "gsm8k-test-0789",
          "gsm8k-test-0790",
          "gsm8k-test-0791",
          "gsm8k-test-0792",
          "gsm8k-test-0793",
          "gsm8k-test-0794",
          "gsm8k-test-0795",
          "gsm8k-test-0796",
          "gsm8k-test-0797",
          "gsm8k-test-0798",
          "gsm8k-test-0799",
          "gsm8k-test-0800",
          "gsm8k-test-0801",
          "gsm8k-test-0802",
          "gsm8k-test-0803",
          "gsm8k-test-0804",
          "gsm8k-test-0805",
          "gsm8k-test-0806",
          "gsm8k-test-0807",
          "gsm8k-test-0808",
          "gsm8k-test-0809",
          "gsm8k-test-0810",
          "gsm8k-test-0811",
          "gsm8k-test-0812",
          "gsm8k-test-0813",
          "gsm8k-test-0814",
          "gsm8k-test-0815",
          "gsm8k-test-0816",
          "gsm8k-test-0817",
          "gsm8k-test-0818",
          "gsm8k-test-0819",
          "gsm8k-test-0820",
          "gsm8k-test-0821",
          "gsm8k-test-0822",
          "gsm8k-test-0823",
          "gsm8k-test-0824",
          "gsm8k-test-0825",
          "gsm8k-test-0826",
          "gsm8k-test-0827",
          "gsm8k-test-0828",
          "gsm8k-test-0829",
          "gsm8k-test-0830",
          "gsm8k-test-0831",
          "gsm8k-test-0832",
          "gsm8k-test-0833",
          "gsm8k-test-0834",
          "gsm8k-test-0835",
          "gsm8k-test-0836",
          "gsm8k-test-0837",
          "gsm8k-test-0838",
          "gsm8k-test-0839",
          "gsm8k-test-0840",
          "gsm8k-test-0841",
          "gsm8k-test-0842",
          "gsm8k-test-0843",
          "gsm8k-test-0844",
          "gsm8k-test-0845",
          "gsm8k-test-0846",
          "gsm8k-test-0847",
          "gsm8k-test-0848",
          "gsm8k-test-0849",
          "gsm8k-test-0850",
          "gsm8k-test-0851",
          "gsm8k-test-0852",
          "gsm8k-test-0853",
          "gsm8k-test-0854",
          "gsm8k-test-0855",
          "gsm8k-test-0856",
          "gsm8k-test-0857",
          "gsm8k-test-0858",
          "gsm8k-test-0859",
          "gsm8k-test-0860",
          "gsm8k-test-0861",
          "gsm8k-test-0862",
          "gsm8k-test-0863",
          "gsm8k-test-0864",
          "gsm8k-test-0865",
          "gsm8k-test-0866",
          "gsm8k-test-0867",
          "gsm8k-test-0868",
          "gsm8k-test-0869",
          "gsm8k-test-0870",
          "gsm8k-test-0871",
          "gsm8k-test-0872",
          "gsm8k-test-0873",
          "gsm8k-test-0874",
          "gsm8k-test-0875",
          "gsm8k-test-0876",
          "gsm8k-test-0877",
          "gsm8k-test-0878",
          "gsm8k-test-0879",
          "gsm8k-test-0880",
          "gsm8k-test-0881",
          "gsm8k-test-0882",
          "gsm8k-test-0883",
          "gsm8k-test-0884",
          "gsm8k-test-0885",
          "gsm8k-test-0886",
          "gsm8k-test-0887",
          "gsm8k-test-0888",
          "gsm8k-test-0889",
          "gsm8k-test-0890",
          "gsm8k-test-0891",
          "gsm8k-test-0892",
          "gsm8k-test-0893",
          "gsm8k-test-0894",
          "gsm8k-test-0895",
          "gsm8k-test-0896",
          "gsm8k-test-0897",
          "gsm8k-test-0898",
          "gsm8k-test-0899",
          "gsm8k-test-0900",
          "gsm8k-test-0901",
          "gsm8k-test-0902",
          "gsm8k-test-0903",
          "gsm8k-test-0904",
          "gsm8k-test-0905",
          "gsm8k-test-0906",
          "gsm8k-test-0907",
          "gsm8k-test-0908",
          "gsm8k-test-0909",
          "gsm8k-test-0910",
          "gsm8k-test-0911",
          "gsm8k-test-0912",
          "gsm8k-test-0913",
          "gsm8k-test-0914",
          "gsm8k-test-0915",
          "gsm8k-test-0916",
          "gsm8k-test-0917",
          "gsm8k-test-0918",
          "gsm8k-test-0919",
          "gsm8k-test-0920",
          "gsm8k-test-0921",
          "gsm8k-test-0922",
          "gsm8k-test-0923",
          "gsm8k-test-0924",
          "gsm8k-test-0925",
          "gsm8k-test-0926",
          "gsm8k-test-0927",
          "gsm8k-test-0928",
          "gsm8k-test-0929",
          "gsm8k-test-0930",
          "gsm8k-test-0931",
          "gsm8k-test-0932",
          "gsm8k-test-0933",
          "gsm8k-test-0934",
          "gsm8k-test-0935",
          "gsm8k-test-0936",
          "gsm8k-test-0937",
          "gsm8k-test-0938",
          "gsm8k-test-0939",
          "gsm8k-test-0940",
          "gsm8k-test-0941",
          "gsm8k-test-0942",
          "gsm8k-test-0943",
          "gsm8k-test-0944",
          "gsm8k-test-0945",
          "gsm8k-test-0946",
          "gsm8k-test-0947",
          "gsm8k-test-0948",
          "gsm8k-test-0949",
          "gsm8k-test-0950",
          "gsm8k-test-0951",
          "gsm8k-test-0952",
          "gsm8k-test-0953",
          "gsm8k-test-0954",
          "gsm8k-test-0955",
          "gsm8k-test-0956",
          "gsm8k-test-0957",
          "gsm8k-test-0958",
          "gsm8k-test-0959",
          "gsm8k-test-0960",
          "gsm8k-test-0961",
          "gsm8k-test-0962",
          "gsm8k-test-0963",
          "gsm8k-test-0964",
          "gsm8k-test-0965",
          "gsm8k-test-0966",
          "gsm8k-test-0967",
          "gsm8k-test-0968",
          "gsm8k-test-0969",
          "gsm8k-test-0970",
          "gsm8k-test-0971",
          "gsm8k-test-0972",
          "gsm8k-test-0973",
          "gsm8k-test-0974",
          "gsm8k-test-0975",
          "gsm8k-test-0976",
          "gsm8k-test-0977",
          "gsm8k-test-0978",
          "gsm8k-test-0979",
          "gsm8k-test-0980",
          "gsm8k-test-0981",
          "gsm8k-test-0982",
          "gsm8k-test-0983",
          "gsm8k-test-0984",
          "gsm8k-test-0985",
          "gsm8k-test-0986",
          "gsm8k-test-0987",
          "gsm8k-test-0988",
          "gsm8k-test-0989",
          "gsm8k-test-0990",
          "gsm8k-test-0991",
          "gsm8k-test-0992",
          "gsm8k-test-0993",
          "gsm8k-test-0994",
          "gsm8k-test-0995",
          "gsm8k-test-0996",
          "gsm8k-test-0997",
          "gsm8k-test-0998",
          "gsm8k-test-0999",
          "gsm8k-test-1000",
          "gsm8k-test-1001",
          "gsm8k-test-1002",
          "gsm8k-test-1003",
          "gsm8k-test-1004",
          "gsm8k-test-1005",
          "gsm8k-test-1006",
          "gsm8k-test-1007",
          "gsm8k-test-1008",
          "gsm8k-test-1009",
          "gsm8k-test-1010",
          "gsm8k-test-1011",
          "gsm8k-test-1012",
          "gsm8k-test-1013",
          "gsm8k-test-1014",
          "gsm8k-test-1015",
          "gsm8k-test-1016",
          "gsm8k-test-1017",
          "gsm8k-test-1018",
          "gsm8k-test-1019",
          "gsm8k-test-1020",
          "gsm8k-test-1021",
          "gsm8k-test-1022",
          "gsm8k-test-1023",
          "gsm8k-test-1024",
          "gsm8k-test-1025",
          "gsm8k-test-1026",
          "gsm8k-test-1027",
          "gsm8k-test-1028",
          "gsm8k-test-1029",
          "gsm8k-test-1030",
          "gsm8k-test-1031",
          "gsm8k-test-1032",
          "gsm8k-test-1033",
          "gsm8k-test-1034",
          "gsm8k-test-1035",
          "gsm8k-test-1036",
          "gsm8k-test-1037",
          "gsm8k-test-1038",
          "gsm8k-test-1039",
          "gsm8k-test-1040",
          "gsm8k-test-1041",
          "gsm8k-test-1042",
          "gsm8k-test-1043",
          "gsm8k-test-1044",
          "gsm8k-test-1045",
          "gsm8k-test-1046",
          "gsm8k-test-1047",
          "gsm8k-test-1048",
          "gsm8k-test-1049",
          "gsm8k-test-1050",
          "gsm8k-test-1051",
          "gsm8k-test-1052",
          "gsm8k-test-1053",
          "gsm8k-test-1054",
          "gsm8k-test-1055",
          "gsm8k-test-1056",
          "gsm8k-test-1057",
          "gsm8k-test-1058",
          "gsm8k-test-1059",
          "gsm8k-test-1060",
          "gsm8k-test-1061",
          "gsm8k-test-1062",
          "gsm8k-test-1063",
          "gsm8k-test-1064",
          "gsm8k-test-1065",
          "gsm8k-test-1066",
          "gsm8k-test-1067",
          "gsm8k-test-1068",
          "gsm8k-test-1069",
          "gsm8k-test-1070",
          "gsm8k-test-1071",
          "gsm8k-test-1072",
          "gsm8k-test-1073",
          "gsm8k-test-1074",
          "gsm8k-test-1075",
          "gsm8k-test-1076",
          "gsm8k-test-1077",
          "gsm8k-test-1078",
          "gsm8k-test-1079",
          "gsm8k-test-1080",
          "gsm8k-test-1081",
          "gsm8k-test-1082",
          "gsm8k-test-1083",
          "gsm8k-test-1084",
          "gsm8k-test-1085",
          "gsm8k-test-1086",
          "gsm8k-test-1087",
          "gsm8k-test-1088",
          "gsm8k-test-1089",
          "gsm8k-test-1090",
          "gsm8k-test-1091",
          "gsm8k-test-1092",
          "gsm8k-test-1093",
          "gsm8k-test-1094",
          "gsm8k-test-1095",
          "gsm8k-test-1096",
          "gsm8k-test-1097",
          "gsm8k-test-1098",
          "gsm8k-test-1099",
          "gsm8k-test-1100",
          "gsm8k-test-1101",
          "gsm8k-test-1102",
          "gsm8k-test-1103",
          "gsm8k-test-1104",
          "gsm8k-test-1105",
          "gsm8k-test-1106",
          "gsm8k-test-1107",
          "gsm8k-test-1108",
          "gsm8k-test-1109",
          "gsm8k-test-1110",
          "gsm8k-test-1111",
          "gsm8k-test-1112",
          "gsm8k-test-1113",
          "gsm8k-test-1114",
          "gsm8k-test-1115",
          "gsm8k-test-1116",
          "gsm8k-test-1117",
          "gsm8k-test-1118",
          "gsm8k-test-1119",
          "gsm8k-test-1120",
          "gsm8k-test-1121",
          "gsm8k-test-1122",
          "gsm8k-test-1123",
          "gsm8k-test-1124",
          "gsm8k-test-1125",
          "gsm8k-test-1126",
          "gsm8k-test-1127",
          "gsm8k-test-1128",
          "gsm8k-test-1129",
          "gsm8k-test-1130",
          "gsm8k-test-1131",
          "gsm8k-test-1132",
          "gsm8k-test-1133",
          "gsm8k-test-1134",
          "gsm8k-test-1135",
          "gsm8k-test-1136",
          "gsm8k-test-1137",
          "gsm8k-test-1138",
          "gsm8k-test-1139",
          "gsm8k-test-1140",
          "gsm8k-test-1141",
          "gsm8k-test-1142",
          "gsm8k-test-1143",
          "gsm8k-test-1144",
          "gsm8k-test-1145",
          "gsm8k-test-1146",
          "gsm8k-test-1147",
          "gsm8k-test-1148",
          "gsm8k-test-1149",
          "gsm8k-test-1150",
          "gsm8k-test-1151",
          "gsm8k-test-1152",
          "gsm8k-test-1153",
          "gsm8k-test-1154",
          "gsm8k-test-1155",
          "gsm8k-test-1156",
          "gsm8k-test-1157",
          "gsm8k-test-1158",
          "gsm8k-test-1159",
          "gsm8k-test-1160",
          "gsm8k-test-1161",
          "gsm8k-test-1162",
          "gsm8k-test-1163",
          "gsm8k-test-1164",
          "gsm8k-test-1165",
          "gsm8k-test-1166",
          "gsm8k-test-1167",
          "gsm8k-test-1168",
          "gsm8k-test-1169",
          "gsm8k-test-1170",
          "gsm8k-test-1171",
          "gsm8k-test-1172",
          "gsm8k-test-1173",
          "gsm8k-test-1174",
          "gsm8k-test-1175",
          "gsm8k-test-1176",
          "gsm8k-test-1177",
          "gsm8k-test-1178",
          "gsm8k-test-1179",
          "gsm8k-test-1180",
          "gsm8k-test-1181",
          "gsm8k-test-1182",
          "gsm8k-test-1183",
          "gsm8k-test-1184",
          "gsm8k-test-1185",
          "gsm8k-test-1186",
          "gsm8k-test-1187",
          "gsm8k-test-1188",
          "gsm8k-test-1189",
          "gsm8k-test-1190",
          "gsm8k-test-1191",
          "gsm8k-test-1192",
          "gsm8k-test-1193",
          "gsm8k-test-1194",
          "gsm8k-test-1195",
          "gsm8k-test-1196",
          "gsm8k-test-1197",
          "gsm8k-test-1198",
          "gsm8k-test-1199",
          "gsm8k-test-1200",
          "gsm8k-test-1201",
          "gsm8k-test-1202",
          "gsm8k-test-1203",
          "gsm8k-test-1204",
          "gsm8k-test-1205",
          "gsm8k-test-1206",
          "gsm8k-test-1207",
          "gsm8k-test-1208",
          "gsm8k-test-1209",
          "gsm8k-test-1210",
          "gsm8k-test-1211",
          "gsm8k-test-1212",
          "gsm8k-test-1213",
          "gsm8k-test-1214",
          "gsm8k-test-1215",
          "gsm8k-test-1216",
          "gsm8k-test-1217",
          "gsm8k-test-1218",
          "gsm8k-test-1219",
          "gsm8k-test-1220",
          "gsm8k-test-1221",
          "gsm8k-test-1222",
          "gsm8k-test-1223",
          "gsm8k-test-1224",
          "gsm8k-test-1225",
          "gsm8k-test-1226",
          "gsm8k-test-1227",
          "gsm8k-test-1228",
          "gsm8k-test-1229",
          "gsm8k-test-1230",
          "gsm8k-test-1231",
          "gsm8k-test-1232",
          "gsm8k-test-1233",
          "gsm8k-test-1234",
          "gsm8k-test-1235",
          "gsm8k-test-1236",
          "gsm8k-test-1237",
          "gsm8k-test-1238",
          "gsm8k-test-1239",
          "gsm8k-test-1240",
          "gsm8k-test-1241",
          "gsm8k-test-1242",
          "gsm8k-test-1243",
          "gsm8k-test-1244",
          "gsm8k-test-1245",
          "gsm8k-test-1246",
          "gsm8k-test-1247",
          "gsm8k-test-1248",
          "gsm8k-test-1249",
          "gsm8k-test-1250",
          "gsm8k-test-1251",
          "gsm8k-test-1252",
          "gsm8k-test-1253",
          "gsm8k-test-1254",
          "gsm8k-test-1255",
          "gsm8k-test-1256",
          "gsm8k-test-1257",
          "gsm8k-test-1258",
          "gsm8k-test-1259",
          "gsm8k-test-1260",
          "gsm8k-test-1261",
          "gsm8k-test-1262",
          "gsm8k-test-1263",
          "gsm8k-test-1264",
          "gsm8k-test-1265",
          "gsm8k-test-1266",
          "gsm8k-test-1267",
          "gsm8k-test-1268",
          "gsm8k-test-1269",
          "gsm8k-test-1270",
          "gsm8k-test-1271",
          "gsm8k-test-1272",
          "gsm8k-test-1273",
          "gsm8k-test-1274",
          "gsm8k-test-1275",
          "gsm8k-test-1276",
          "gsm8k-test-1277",
          "gsm8k-test-1278",
          "gsm8k-test-1279",
          "gsm8k-test-1280",
          "gsm8k-test-1281",
          "gsm8k-test-1282",
          "gsm8k-test-1283",
          "gsm8k-test-1284",
          "gsm8k-test-1285",
          "gsm8k-test-1286",
          "gsm8k-test-1287",
          "gsm8k-test-1288",
          "gsm8k-test-1289",
          "gsm8k-test-1290",
          "gsm8k-test-1291",
          "gsm8k-test-1292",
          "gsm8k-test-1293",
          "gsm8k-test-1294",
          "gsm8k-test-1295",
          "gsm8k-test-1296",
          "gsm8k-test-1297",
          "gsm8k-test-1298",
          "gsm8k-test-1299",
          "gsm8k-test-1300",
          "gsm8k-test-1301",
          "gsm8k-test-1302",
          "gsm8k-test-1303",
          "gsm8k-test-1304",
          "gsm8k-test-1305",
          "gsm8k-test-1306",
          "gsm8k-test-1307",
          "gsm8k-test-1308",
          "gsm8k-test-1309",
          "gsm8k-test-1310",
          "gsm8k-test-1311",
          "gsm8k-test-1312",
          "gsm8k-test-1313",
          "gsm8k-test-1314",
          "gsm8k-test-1315",
          "gsm8k-test-1316",
          "gsm8k-test-1317",
          "gsm8k-test-1318"
        ],
        "manifest_ref": "evaluation-items.jsonl",
        "manifest_sha256": "2605906367ae053a2354385b46f40b34ddbbeecb37fdec2e495b74c0dffae619",
        "order": "original dataset order",
        "split": "test"
      },
      "parser": {
        "cookbook_sha": "f79fdb2ba4cd967ef2807ba43097c52985f9f17f",
        "description": "Cookbook MathEnv.check_answer -> extract_boxed -> safe_grade(default sympy, timeout=1s) -> grade_answer: normalized/symbolic matching, NOT research_exchange numeric_exact. numeric_exact applies only to generation_audit, inapplicable here. Missing boxes/invalid outputs are incorrect; renderer.parse_response precedes grading. Accuracy excludes format reward.",
        "guard": "math_grading._is_int(x) = math.isfinite(x) and original_is_int(x)",
        "immutable_sources": {
          "cookbook/tinker_cookbook/completers.py": "199a89939f43444e42ea2dbf8aa19d679ba0666735ab564b30965e6a6f49b4fd",
          "cookbook/tinker_cookbook/recipes/math_rl/math_env.py": "51688df7c46e7dacd050be6a309bda76527c4b9a97a40ba276b2179b982c00b5",
          "cookbook/tinker_cookbook/recipes/math_rl/math_grading.py": "712b5ab7925bf7d9fea2a51560a2067e38725cf8cef276835efa64b90f9bd35e",
          "cookbook/tinker_cookbook/renderers/__init__.py": "49ae762f09c1e666a7155cc49c1a1d264aa3d21cba85731ee31c508b652e29ee",
          "cookbook/tinker_cookbook/renderers/base.py": "8701a6cc7c6f62eed0d9c9b693e1e7cb4d45aea43e264a08667a0abcf8b9a8da",
          "cookbook/tinker_cookbook/renderers/deepseek_v3.py": "b84fff4b680df65c5359919db1801b28c73503d1b35f49ec437d44cd95439ab6",
          "cookbook/tinker_cookbook/renderers/deepseek_v3_test.py": "9dd2de0eaf8d837a9362ce9a16326a3b4fb5d0806f3478e282787b981c54c3a4",
          "cookbook/tinker_cookbook/renderers/deepseek_v4_1.py": "370273e5af3526e3314f60e0895ac16c201e6a10a9a8cc58b9843cfde3eeaba2",
          "cookbook/tinker_cookbook/renderers/deepseek_v4_1_test.py": "abd2a0c9699de1df89e92ab3b622b9e10e85e23f3e5931b957d58c47e1099d2e",
          "cookbook/tinker_cookbook/renderers/glm5_3.py": "82c48f25006b0706a5dd276daf562fe1bf7a93c0842addabcb4bee3e13d2e290",
          "cookbook/tinker_cookbook/renderers/glm5_3_test.py": "20e51be003f02a021824722535815c0eb82aaa2ef878bba9863b1de472d1f881",
          "cookbook/tinker_cookbook/renderers/gpt_oss.py": "0f3975177f453399c83ea20ac213f0a178a2023e8314421dc801431dd46fd27d",
          "cookbook/tinker_cookbook/renderers/gpt_oss_test.py": "3a91df9164a65479e040d8cd6e705a2829cf28907f99dd94bf742c04529edf11",
          "cookbook/tinker_cookbook/renderers/image_token_count_test.py": "c1c5826a94f95c5431abe2ce6592f5fc7218416fe7faefc1f25cd1eb64fa55fa",
          "cookbook/tinker_cookbook/renderers/kimi_k2.py": "7c321a89346dd80cf3788a9018f57d60ac960ca74b2ef0e436d7e5166dd04e1d",
          "cookbook/tinker_cookbook/renderers/kimi_k25.py": "50dc849e1732514c533f2042b8c58dbc620386a3403107329062f6fbee02518c",
          "cookbook/tinker_cookbook/renderers/kimi_k25_test.py": "e82ba820538cca8aa5dcc24473f434633ec60a7b4c7021ac7e73ef6c46cd0017",
          "cookbook/tinker_cookbook/renderers/kimi_k26.py": "348ab2e12cb969428c72bf699f6361898eb6752f66cae7d03c8cea054c79dbd7",
          "cookbook/tinker_cookbook/renderers/kimi_k26_test.py": "0d250dfebd73c9d0008b41aedfab51198f69f0d273770ad87da74fd17d4a3cfe",
          "cookbook/tinker_cookbook/renderers/kimi_k2_5_tool_declaration_ts.py": "03d1677d2cb111e5c71521e433cb72e4e7aa1c758ef1cdb40a9c08f4a3935dc4",
          "cookbook/tinker_cookbook/renderers/kimi_k2_test.py": "8125a31e4225b22943b4e260241e840ede4b360ef8b88dd6549665aeed900ace",
          "cookbook/tinker_cookbook/renderers/kimi_k2_tool_declaration_test.py": "8d9332492405b629e8186333bafd0336fa3b6b7dd0963df7c8dd3cb6b5c68ccf",
          "cookbook/tinker_cookbook/renderers/llama3.py": "f729ea6c5f73843144a05c7edafa8a9653bdb81a6f7add82f3a0e9a05d425e4a",
          "cookbook/tinker_cookbook/renderers/nemotron3.py": "b554eea043cca28eb6086a22181204358ce40982dead2f2e3b2b524cb8bd887d",
          "cookbook/tinker_cookbook/renderers/nemotron3_5_super_test.py": "b65d5ee372a11f7892d3de060b47944ec8aadb89dcde9db5eb1b50de7b05b273",
          "cookbook/tinker_cookbook/renderers/nemotron3_test.py": "319e27f8d5f350e2f931fdaa3c7c4f552f2ddbbcc4c3117f490807b90b8ea38e",
          "cookbook/tinker_cookbook/renderers/parse_failure_test.py": "57ada2f378b3b8eedbc85348343251b32b140dda5090bab07f0d848ea57932f0",
          "cookbook/tinker_cookbook/renderers/parsing_test.py": "44df6921517b9282fb43718c89e9d7e4982847ac05b3b011e62e72a4fcaf70e0",
          "cookbook/tinker_cookbook/renderers/qwen3.py": "3e5388721083a5074883f6e4705fbbad6171a62a4b91205994ae662983d3250b",
          "cookbook/tinker_cookbook/renderers/qwen3_5.py": "74131b11bf356d9e582df63d6417825b2a43a26aae6150f97833bf72ad2eec10",
          "cookbook/tinker_cookbook/renderers/qwen3_8.py": "9416fe90ef4b0a81e83e8ccf0c9a94fcdf813d62698e85cb94cf8c11b99eacbe",
          "cookbook/tinker_cookbook/renderers/qwen3_8_test.py": "f2d8b55f451aa655ed95b2d47a27745969772b982f6e12808970c552c6beda7b",
          "cookbook/tinker_cookbook/renderers/qwen3_concurrency_test.py": "8f25f1ed41c240e6b1285020d08d7cb6ca72c4ad038d119b7fb21cb92e596441",
          "cookbook/tinker_cookbook/renderers/qwen3_test.py": "e34a832369c7dfefea36eb656a512c0318cd42c2007ccfe79be6bcce9ae5b8ff",
          "cookbook/tinker_cookbook/renderers/qwen3_tool_declaration_test.py": "ac112ec39808ed8f62943e5fc21a463c13f5712bc735880f8ef798a723d2da16",
          "cookbook/tinker_cookbook/renderers/renderer_pickle_test.py": "dd66ee8c26efec3c71060d455ef7d6f7ac85d3ff8b22b93938f9971e2221bd5e",
          "cookbook/tinker_cookbook/renderers/renderers_test.py": "d7ce692125a7146a49a515c744771ebb136979ca663d8b491ae8ab207f907ddd",
          "cookbook/tinker_cookbook/renderers/role_colon.py": "76e41debaae235a163eabed8d32ccc6d35dd0fdeecdffa3950974c90aeea74f4",
          "cookbook/tinker_cookbook/renderers/role_colon_test.py": "dfffcb299cd39b4fdebaebbac3a9788b84c72ce120f8841b70b7d572c48f13ee",
          "cookbook/tinker_cookbook/renderers/testing_utils.py": "e4b1f24fa6049362a4c1a1e4e13cb7ef2164ae4ad5268254d93257a6ddaffe2c",
          "cookbook/tinker_cookbook/renderers/tml_v0.py": "54f8639a5975dad1e199dd2c69df64f5e78ca54f378036e5aa51ad0e140da7a8",
          "cookbook/tinker_cookbook/renderers/tml_v0_test.py": "088202d065d0115ecb6f92fb91dd9f2f964c8f9fa16778a247c052acacc38878",
          "cookbook/tinker_cookbook/renderers/tool_calling_test.py": "c9702636fe6a53a0c74cf0a342d2659234f23ba962cdeb44184ae6d071061bf8",
          "cookbook/tinker_cookbook/rl/problem_env.py": "f4ea5eb8a27dfc13732100a3e7ccefe3f0eda4ad247acbfa01b8203d7b640406",
          "eval.py": "bd1685b8ff81d0ebabbeffbdd645f470bf51f2d54b885018a738c6bfe81ca177",
          "rx_gs1.py": "fca7ac94282999a136228f2bd6fce7944a20c4ac21959bbb8774fb93aa824202"
        }
      },
      "prompt_template": {
        "conversation_prefix": [
          {
            "content": "How many r's are in strawberry? Write your answer in \\boxed{} format.",
            "role": "user"
          },
          {
            "content": "Let's spell the word out and number all the letters: 1) s 2) t 3) r 4) a 5) w 6) b 7) e 8) r 9) r 10) y. We have r's at positions 3, 8, and 9. \\boxed{3}",
            "role": "assistant"
          }
        ],
        "renderer": "qwen3_5_disable_thinking",
        "rendering": "MathEnv.initial_observation -> renderer.build_generation_prompt; exact rendered token IDs in manifest",
        "tokenizer": "Qwen/Qwen3.5-2B",
        "tokenizer_chat_template": "{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n    {%- if content is string %}\n        {{- content }}\n    {%- elif content is iterable and content is not mapping %}\n        {%- for item in content %}\n            {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n                {%- if is_system_content %}\n                    {{- raise_exception('System message cannot contain images.') }}\n                {%- endif %}\n                {%- if do_vision_count %}\n                    {%- set image_count.value = image_count.value + 1 %}\n                {%- endif %}\n                {%- if add_vision_id %}\n                    {{- 'Picture ' ~ image_count.value ~ ': ' }}\n                {%- endif %}\n                {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n            {%- elif 'video' in item or item.type == 'video' %}\n                {%- if is_system_content %}\n                    {{- raise_exception('System message cannot contain videos.') }}\n                {%- endif %}\n                {%- if do_vision_count %}\n                    {%- set video_count.value = video_count.value + 1 %}\n                {%- endif %}\n                {%- if add_vision_id %}\n                    {{- 'Video ' ~ video_count.value ~ ': ' }}\n                {%- endif %}\n                {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n            {%- elif 'text' in item %}\n                {{- item.text }}\n            {%- else %}\n                {{- raise_exception('Unexpected item type in content.') }}\n            {%- endif %}\n        {%- endfor %}\n    {%- elif content is none or content is undefined %}\n        {{- '' }}\n    {%- else %}\n        {{- raise_exception('Unexpected content type.') }}\n    {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n    {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n    {{- '<|im_start|>system\\n' }}\n    {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }}\n    {%- for tool in tools %}\n        {{- \"\\n\" }}\n        {{- tool | tojson }}\n    {%- endfor %}\n    {{- \"\\n</tools>\" }}\n    {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n</IMPORTANT>' }}\n    {%- if messages[0].role == 'system' %}\n        {%- set content = render_content(messages[0].content, false, true)|trim %}\n        {%- if content %}\n            {{- '\\n\\n' + content }}\n        {%- endif %}\n    {%- endif %}\n    {{- '<|im_end|>\\n' }}\n{%- else %}\n    {%- if messages[0].role == 'system' %}\n        {%- set content = render_content(messages[0].content, false, true)|trim %}\n        {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n    {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n    {%- set index = (messages|length - 1) - loop.index0 %}\n    {%- if ns.multi_step_tool and message.role == \"user\" %}\n        {%- set content = render_content(message.content, false)|trim %}\n        {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}\n            {%- set ns.multi_step_tool = false %}\n            {%- set ns.last_query_index = index %}\n        {%- endif %}\n    {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n    {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n    {%- set content = render_content(message.content, true)|trim %}\n    {%- if message.role == \"system\" %}\n        {%- if not loop.first %}\n            {{- raise_exception('System message must be at the beginning.') }}\n        {%- endif %}\n    {%- elif message.role == \"user\" %}\n        {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n    {%- elif message.role == \"assistant\" %}\n        {%- set reasoning_content = '' %}\n        {%- if message.reasoning_content is string %}\n            {%- set reasoning_content = message.reasoning_content %}\n        {%- else %}\n            {%- if '</think>' in content %}\n                {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n                {%- set content = content.split('</think>')[-1].lstrip('\\n') %}\n            {%- endif %}\n        {%- endif %}\n        {%- set reasoning_content = reasoning_content|trim %}\n        {%- if loop.index0 > ns.last_query_index %}\n            {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }}\n        {%- else %}\n            {{- '<|im_start|>' + message.role + '\\n' + content }}\n        {%- endif %}\n        {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n            {%- for tool_call in message.tool_calls %}\n                {%- if tool_call.function is defined %}\n                    {%- set tool_call = tool_call.function %}\n                {%- endif %}\n                {%- if loop.first %}\n                    {%- if content|trim %}\n                        {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                    {%- else %}\n                        {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                    {%- endif %}\n                {%- else %}\n                    {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                {%- endif %}\n                {%- if tool_call.arguments is defined %}\n                    {%- for args_name, args_value in tool_call.arguments|items %}\n                        {{- '<parameter=' + args_name + '>\\n' }}\n                        {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n                        {{- args_value }}\n                        {{- '\\n</parameter>\\n' }}\n                    {%- endfor %}\n                {%- endif %}\n                {{- '</function>\\n</tool_call>' }}\n            {%- endfor %}\n        {%- endif %}\n        {{- '<|im_end|>\\n' }}\n    {%- elif message.role == \"tool\" %}\n        {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n            {{- '<|im_start|>user' }}\n        {%- endif %}\n        {{- '\\n<tool_response>\\n' }}\n        {{- content }}\n        {{- '\\n</tool_response>' }}\n        {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n            {{- '<|im_end|>\\n' }}\n        {%- elif loop.last %}\n            {{- '<|im_end|>\\n' }}\n        {%- endif %}\n    {%- else %}\n        {{- raise_exception('Unexpected message role.') }}\n    {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n    {{- '<|im_start|>assistant\\n' }}\n    {%- if enable_thinking is defined and enable_thinking is true %}\n        {{- '<think>\\n' }}\n    {%- else %}\n        {{- '<think>\\n\\n</think>\\n\\n' }}\n    {%- endif %}\n{%- endif %}",
        "user_message": "{gsm8k.question} Write your answer in \\boxed{} format."
      }
    }
  },
  "scores": [
    {
      "accuracy": 0.7134192570128886,
      "arm": "grpo_gs8",
      "checkpoint": "tinker://4a41c84719dfa5985f5ce122cf586538/weights/rx-full-grpo_gs8-final",
      "correct": 941,
      "evaluator_id": "5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70",
      "items": 1319,
      "metric": "accuracy",
      "predictions_ref": "predictions-grpo_gs8.jsonl",
      "seconds": 32.78277725199996,
      "seed": 0,
      "value": 0.7134192570128886
    },
    {
      "accuracy": 0.7460197119029568,
      "arm": "gs1_kernel",
      "checkpoint": "tinker://82134dc5c7344adfe7534612673e9353/weights/rx-full-gs1_kernel-final",
      "correct": 984,
      "evaluator_id": "5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70",
      "items": 1319,
      "metric": "accuracy",
      "predictions_ref": "predictions-gs1_kernel.jsonl",
      "seconds": 33.005192892000196,
      "seed": 0,
      "value": 0.7460197119029568
    },
    {
      "arm": "base",
      "evaluator_id": "5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70",
      "metric": "accuracy",
      "predictions_ref": "predictions-base.jsonl",
      "seed": 0,
      "value": 0.7058377558756633
    }
  ],
  "version": 1
}
Feasibility projection: unknown
Projected costs, not measured GPU usage.
Projected wall time
unknown
Projected GPU allocation
unknown
  • Re-projection required: lora_rank changed or was not recorded
  • Re-projection required: dataset changed or was not recorded
  • Re-projection required: steps changed or was not recorded
  • Re-projection required: max_seq_len changed or was not recorded
  • Re-projection required: n_examples changed or was not recorded
  • Re-projection required: n_eval changed or was not recorded
Timing, sample counts and allocation evidence
{
  "generation_applicability": {
    "check": "generation_audit",
    "enforce": false,
    "features": {
      "generated_training_data": false
    },
    "reasons": [
      "spec.generation_audit opts out and no feature it covers is true"
    ],
    "status": "not_applicable"
  },
  "generation_counts": null,
  "gpu_hours": null,
  "known_gpu_hours": 0,
  "phases": {
    "evaluation": {
      "gpu_hours": null,
      "planned_samples": 3957.0,
      "planned_units": 3957,
      "wall_seconds": 578.4000000000001
    },
    "recovery": {
      "gpu_hours": null,
      "wall_seconds": 1800
    },
    "setup": {
      "gpu_hours": null,
      "planned_samples": 0.0,
      "planned_units": 1,
      "wall_seconds": 288.0
    },
    "training": {
      "gpu_hours": null,
      "planned_samples": 5440.0,
      "planned_units": 85,
      "wall_seconds": 3136.5
    }
  },
  "problems": [
    "Re-projection required: lora_rank changed or was not recorded",
    "Re-projection required: dataset changed or was not recorded",
    "Re-projection required: steps changed or was not recorded",
    "Re-projection required: max_seq_len changed or was not recorded",
    "Re-projection required: n_examples changed or was not recorded",
    "Re-projection required: n_eval changed or was not recorded"
  ],
  "record": {
    "config": {
      "arms": [
        "grpo_gs8",
        "gs1_kernel"
      ],
      "base_model": "Qwen/Qwen3.5-2B",
      "batch_size": 64,
      "max_tokens": 512,
      "n_eval_timed": 1319,
      "pilot_steps": {
        "grpo_gs8": 1,
        "gs1_kernel_bw0.5": 2,
        "gs1_kernel_bw1.0": 2
      }
    },
    "effective_config": {
      "arms": [
        "grpo_gs8",
        "gs1_kernel"
      ],
      "base_model": "Qwen/Qwen3.5-2B",
      "batch_size": 64,
      "gs1_bandwidth": 1.0,
      "max_seq_len": 1024,
      "max_tokens": 512,
      "n_eval": 1319,
      "steps": 40
    },
    "generation": null,
    "measurements": {
      "evaluation": {
        "allocation_source": null,
        "gpu_count": null,
        "planned_units": 3957,
        "samples": 1319,
        "seconds": 192.8,
        "units": 1319
      },
      "setup": {
        "allocation_source": null,
        "gpu_count": null,
        "planned_units": 1,
        "samples": 0,
        "seconds": 288.0,
        "units": 1
      },
      "training": {
        "allocation_source": null,
        "gpu_count": null,
        "planned_units": 85,
        "samples": 320,
        "seconds": 184.5,
        "units": 5
      }
    },
    "primary_endpoint": "gsm8k_test_exact_match_accuracy_final_checkpoint",
    "recovery": {
      "allocation_source": null,
      "gpu_count": null,
      "seconds": 1800
    },
    "source": "activation-pilot-*.json, timings-a.json, timings-b.json, base/timings.json; observed full driver wall 1515 s (full/timings.json)"
  },
  "recorded_at": 1793813824.596528,
  "status": "unknown",
  "wall_seconds": null
}
Generated task audit: not applicable
spec.generation_audit opts out and no feature it covers is true
Answer agreement with recorded independent solutions does not establish semantic correctness. Normalized exact overlap does not detect paraphrases.
Spec exp_32150a771c
Experiment version
exp_32150a771c
Execute the selected saved experiment version.

Hypothesis

At 64 rollouts per step for 40 steps on Qwen3.5-2B, GS1 RL with a kernel-weighted cross-prompt baseline is noninferior to GRPO (group_size=8) on GSM8K test exact-match accuracy. The noninferiority margin is 3 points.

Success criterion

GS1 minus GRPO GSM8K test exact-match accuracy, as a lower 95% Hoeffding bound over 1319 paired items, must exceed -0.03 (noninferiority margin of 3 points). If the interval straddles -0.03, the pilot is inconclusive and is not counted as a win.

gsm8k 40 steps batch 64 LoRA r32 lr 4e-05 120 min wall budget
Method
Both arms train a rank-32 LoRA on Qwen/Qwen3.5-2B from the same base. They use one client-side RL loop built on the tinker-cookbook rl loop, with the stock importance_sampling loss and AdamW. The prompts come from GSM8K train with the stock math_rl renderer and the verifiable exact-answer reward. Each step uses 64 rollouts, max_tokens=512 and temperature 1.0. The arms differ only in the advantage estimator: - GRPO baseline: 8 prompts x 8 rollouts. Advantage = reward minus group mean, matching the cookbook's default. - GS1 treatment: 64 distinct prompts x 1 rollout. Advantage = r_i minus b_i. Here b_i is a kernel-weighted mean of rewards from other prompts in a sliding window of the last 256 rollouts. The window covers the current batch excluding i, plus the previous steps. The kernel is fixed before running: a Gaussian kernel exp(-||phi_i - phi_j||^2 / (2*0.5^2)) on a 2-d standardized prompt feature phi = (log prompt-token length, sampling-policy mean token logprob of the prompt). The prompt logprob is computed by the sampling client before rollout. If kernel mass is below 1e-3, the estimator falls back to the window mean. The Trajectory post could not be fetched and does not release its kernel, so this kernel is our own pre-registered choice and not the paper's exact method. Kernel hillclimbing, FlashREINFORCE, the trained-critic comparison and cross-task transfer are out of scope for this first node. Each is a follow-up spec. The shared Spindle is enough; no fork is needed. Evaluation is greedy decoding on the full GSM8K test split (1319 items), scored by exact match, for the final checkpoint of each arm.
Baseline
GRPO via the same client loop with group_size=8, groups_per_batch=8 and group-mean advantages. It uses the same model, LoRA rank, LR, steps, rollouts per step, max_tokens, renderer, reward, seed and GSM8K eval.
Full spec
{
  "activation_gate": {
    "applicable": true,
    "checks": [
      {
        "measures": "rollouts per distinct prompt in logged treatment batches",
        "metric": "executed_group_size_treatment",
        "one_of": [
          "1"
        ]
      },
      {
        "measures": "rollouts per distinct prompt in logged baseline batches",
        "metric": "executed_group_size_baseline",
        "one_of": [
          "8"
        ]
      },
      {
        "max": 0.9,
        "measures": "mean training reward over the first 2 treatment steps",
        "metric": "pilot_mean_reward",
        "min": 0.1
      },
      {
        "measures": "10th percentile over rollouts of (sum w)^2/sum w^2 for the kernel weights",
        "metric": "kernel_effective_neighbors_p10",
        "min": 8.0
      },
      {
        "measures": "fraction of treatment rollouts with |advantage|>1e-6",
        "metric": "frac_nonzero_advantage_treatment",
        "min": 0.5
      },
      {
        "measures": "Pearson correlation of b_i with a held-out 8-sample per-prompt mean reward, over 64 pilot prompts",
        "metric": "baseline_reward_corr",
        "min": 0.1
      }
    ],
    "reason": "A GS1 baseline only differs from a constant baseline if the kernel draws on several neighbors with varied rewards, and the prompts give a non-degenerate reward. The executed group size must actually be 1 for the treatment and 8 for the baseline."
  },
  "arms": [
    {
      "advantage": "group_mean",
      "group_size": 8,
      "groups_per_batch": 8,
      "lr": 4e-05,
      "name": "grpo_gs8",
      "seed": 0
    },
    {
      "advantage": "kernel_cross_prompt_baseline",
      "group_size": 1,
      "groups_per_batch": 64,
      "lr": 4e-05,
      "name": "gs1_kernel",
      "seed": 0
    }
  ],
  "base_model": "Qwen/Qwen3.5-2B",
  "baseline": "GRPO via the same client loop with group_size=8, groups_per_batch=8 and group-mean advantages. It uses the same model, LoRA rank, LR, steps, rollouts per step, max_tokens, renderer, reward, seed and GSM8K eval.",
  "batch_size": 64,
  "budget": {
    "gpu_hours": 2.0,
    "max_wall_minutes": 120
  },
  "command": "Custom client loop (python rx_gs1.py --arm {grpo_gs8|gs1_kernel}); the only custom part is the compute_advantages function.\n\nSetup:\n  import os, tinker\n  sc = tinker.ServiceClient(base_url=os.environ['TINKER_BASE_URL'])\n  tc = sc.create_lora_training_client(base_model='Qwen/Qwen3.5-2B', rank=32, seed=0)\n  Use the tinker_cookbook math_rl gsm8k env builder for prompts, renderer and reward.\n\nEach of 40 steps:\n  1. sampler = tc.save_weights_and_get_sampling_client(...).\n  2. Draw prompts from a fixed seed-0 shuffled order: GRPO takes 8 prompts x 8 samples, GS1 takes 64 prompts x 1 sample. max_tokens=512, temperature=1.0.\n  3. Grade with the env reward.\n  4. Compute advantages: GRPO uses r minus group mean. GS1 uses r_i minus a Gaussian-kernel-weighted mean over a 256-rollout window excluding i, with phi = (log prompt length, sampler mean prompt-token logprob) and bandwidth 0.5.\n  5. Build Datums with sampling logprobs and advantages.\n  6. tc.forward_backward(datums, loss_fn='importance_sampling').\n  7. tc.optim_step(tinker.AdamParams(learning_rate=4e-5)).\n\nAfter training: run save_weights_for_sampler, then greedy-decode all 1319 GSM8K test items for each arm. Write per-item correctness to /tmp/rx-gs1/{arm}/eval.jsonl, and score the paired Hoeffding rule from those files.\n\nActivation-failure plan:\n- (a) Offline first: unit-test compute_advantages in float64 on synthetic rewards. Check forced activation (heterogeneous phi gives nonconstant b_i) and forced nonactivation (huge bandwidth gives b_i equal to the window mean, i.e. a batch-mean REINFORCE baseline). Run gradient checks of the new loop with the treatment disabled against stock cookbook GRPO advantages on one fixed batch.\n- (b) A 2-step treatment pilot logs the gate metrics.\n- (c) If kernel_effective_neighbors fails, the single pre-registered calibration is bandwidth in {0.5, 1.0}, chosen by the gate on pilot training prompts only, never on GSM8K test. The cap is 2 pilot steps and 10 wall minutes.\n- (d) Keep the original failed pilot logs. Any other setting change requires a recorded revised spec before execution. Gates are never relaxed.\n\nNo full run happens while correctness_preflight is unresolved.",
  "correctness_preflight": {
    "paths": [
      {
        "baseline_revision": "UNRESOLVED: pin the tinker-cookbook commit SHA whose rl loop / math_rl group-mean advantage is the stock baseline",
        "id": "gs1_kernel_advantage_loop",
        "kind": "loss",
        "reference_revision": "UNRESOLVED: pin a commit of an independently written float64 numpy reference of the kernel baseline (or the Trajectory reference if released)",
        "tolerances": {
          "baseline_gradient": {
            "atol": 1e-05,
            "min_cosine": 0.99999,
            "rtol": 0.0001
          },
          "baseline_loss": {
            "atol": 1e-06,
            "rtol": 1e-05
          },
          "reference_gradient": {
            "atol": 1e-05,
            "min_cosine": 0.99999,
            "rtol": 0.0001
          },
          "reference_loss": {
            "atol": 1e-06,
            "rtol": 1e-05
          }
        }
      }
    ],
    "required": true,
    "status": "unresolved: the source was not fetched and its kernel is unreleased, so there is no trusted treatment reference; pin revisions and an independent reference before any full sweep"
  },
  "dataset": {
    "hf_path": "openai/gsm8k",
    "n_examples": 2560,
    "name": "gsm8k",
    "split": "main/train"
  },
  "decision_rule": {
    "alpha": 0.05,
    "criteria": [
      {
        "bounds": [
          0,
          1
        ],
        "id": "primary",
        "margin": -0.03,
        "metric": "accuracy",
        "weights": {
          "baseline": -1,
          "treatment": 1
        }
      }
    ],
    "estimand": "Paired difference in GSM8K test exact-match accuracy (GS1 kernel minus GRPO) for these fixed seed-0 final checkpoints; larger is better",
    "method": "paired_hoeffding",
    "seeds": [
      0
    ],
    "unit": "fixed_checkpoint_items",
    "version": 1
  },
  "eval": {
    "aggregation": null,
    "benchmark": "GSM8K test (openai/gsm8k main/test)",
    "metric": "exact-match accuracy, greedy, final checkpoint",
    "n_examples": 1319
  },
  "experiment_features": {
    "adaptive_selection": false,
    "checkpoint_restore": false,
    "custom_loss": true,
    "custom_optimizer": false,
    "generated_training_data": false,
    "heldout_loss": false,
    "learned_generator": false,
    "paired_comparison": true,
    "paired_training_arms": true,
    "warmup_adaptation": false
  },
  "feasibility": {
    "config": null,
    "effective_config": {
      "arms": [
        "grpo_gs8",
        "gs1_kernel"
      ],
      "base_model": "Qwen/Qwen3.5-2B",
      "batch_size": 64,
      "max_seq_len": 1024,
      "max_tokens": 512,
      "n_eval": 1319,
      "steps": 40
    },
    "generation": null,
    "measurements": null,
    "primary_endpoint": "gsm8k_test_exact_match_accuracy_final_checkpoint",
    "recovery": null,
    "source": null
  },
  "feasibility_check": {
    "generation_applicability": {
      "check": "generation_audit",
      "enforce": false,
      "features": {
        "generated_training_data": false
      },
      "reasons": [
        "spec.generation_audit opts out and no feature it covers is true"
      ],
      "status": "not_applicable"
    },
    "generation_counts": null,
    "gpu_hours": null,
    "known_gpu_hours": 0,
    "phases": {},
    "problems": [
      "Effective configuration not recorded",
      "Pilot evidence source not recorded",
      "Representative training timing not recorded",
      "Representative setup timing not recorded",
      "Representative evaluation timing not recorded",
      "Positive recovery reserve not recorded"
    ],
    "status": "unknown",
    "wall_seconds": null
  },
  "feasibility_required": true,
  "generation_audit": {
    "answer_comparison": "numeric_exact",
    "max_eval_overlaps": 0,
    "max_label_errors": 0,
    "min_sample_size": 100,
    "required": false
  },
  "hypothesis": "At 64 rollouts per step for 40 steps on Qwen3.5-2B, GS1 RL with a kernel-weighted cross-prompt baseline is noninferior to GRPO (group_size=8) on GSM8K test exact-match accuracy. The noninferiority margin is 3 points.",
  "lora_rank": 32,
  "max_seq_len": 1024,
  "method": "Both arms train a rank-32 LoRA on Qwen/Qwen3.5-2B from the same base. They use one client-side RL loop built on the tinker-cookbook rl loop, with the stock importance_sampling loss and AdamW. The prompts come from GSM8K train with the stock math_rl renderer and the verifiable exact-answer reward. Each step uses 64 rollouts, max_tokens=512 and temperature 1.0.\n\nThe arms differ only in the advantage estimator:\n- GRPO baseline: 8 prompts x 8 rollouts. Advantage = reward minus group mean, matching the cookbook's default.\n- GS1 treatment: 64 distinct prompts x 1 rollout. Advantage = r_i minus b_i. Here b_i is a kernel-weighted mean of rewards from other prompts in a sliding window of the last 256 rollouts. The window covers the current batch excluding i, plus the previous steps.\n\nThe kernel is fixed before running: a Gaussian kernel exp(-||phi_i - phi_j||^2 / (2*0.5^2)) on a 2-d standardized prompt feature phi = (log prompt-token length, sampling-policy mean token logprob of the prompt). The prompt logprob is computed by the sampling client before rollout. If kernel mass is below 1e-3, the estimator falls back to the window mean.\n\nThe Trajectory post could not be fetched and does not release its kernel, so this kernel is our own pre-registered choice and not the paper's exact method. Kernel hillclimbing, FlashREINFORCE, the trained-critic comparison and cross-task transfer are out of scope for this first node. Each is a follow-up spec.\n\nThe shared Spindle is enough; no fork is needed. Evaluation is greedy decoding on the full GSM8K test split (1319 items), scored by exact match, for the final checkpoint of each arm.",
  "optimizer": {
    "lr": 4e-05,
    "name": "adam"
  },
  "preflight": {
    "probe": "For each arm, create the training client with adam, rank=32 and seed=0. Run one forward_backward with loss_fn='importance_sampling' on one sampled GSM8K example carrying that arm's computed advantage, then one optim_step(tinker.AdamParams(learning_rate=4e-5)). Confirm both succeed and the loss is finite. Then run the offline advantage unit tests and the 2-step activation pilot.",
    "riskiest_assumption": "The custom GS1 advantage path is correct and engages. Specifically, the new loop reproduces stock GRPO advantages when the treatment is disabled, and the kernel baseline gives a nonconstant, reward-predictive b_i. Otherwise a GS1-vs-GRPO gap reflects bugs or a degenerate batch-mean baseline, not the method.",
    "tuning": "Both arms use the same optimizer (AdamW) and a fixed LR of 4e-5 taken from cookbook math_rl defaults for small Qwen models. There is no per-arm grid, because the hypothesis concerns the advantage estimator at a fixed recipe. An LR-sensitivity follow-up would give each arm a 3-value grid selected on a GSM8K train holdout, with the grid-edge rule applied."
  },
  "primary_endpoint": "gsm8k_test_exact_match_accuracy_final_checkpoint",
  "restoration_preflight": {
    "applicable": true,
    "fixed_batch_required": true,
    "groups": [
      {
        "arms": [
          {
            "name": "grpo_gs8",
            "optimizer": "adam",
            "optimizer_config": {
              "beta1": 0.9,
              "beta2": 0.95,
              "eps": 1e-08,
              "lora_rank": 32,
              "lr": 4e-05,
              "seed": 0
            }
          },
          {
            "name": "gs1_kernel",
            "optimizer": "adam",
            "optimizer_config": {
              "beta1": 0.9,
              "beta2": 0.95,
              "eps": 1e-08,
              "lora_rank": 32,
              "lr": 4e-05,
              "seed": 0
            }
          }
        ]
      }
    ],
    "reason": "Both trained arms start from the same base LoRA initialization within seed 0."
  },
  "spec_preflight": {
    "findings": [],
    "status": "passed"
  },
  "steps": 40,
  "success_criterion": "GS1 minus GRPO GSM8K test exact-match accuracy, as a lower 95% Hoeffding bound over 1319 paired items, must exceed -0.03 (noninferiority margin of 3 points). If the interval straddles -0.03, the pilot is inconclusive and is not counted as a win.",
  "title": "GS1 kernel-baseline RL vs GRPO at an equal rollout budget on GSM8K",
  "training_type": "rl"
}
Evidence 30

Partial · Download manifest. Recorded files are retained copies; checkpoint references do not include model weights.

Not recorded: predictions.

Checkpoint references
[
  {
    "arm": "grpo_gs8",
    "step": 40,
    "uri": "tinker://4a41c84719dfa5985f5ce122cf586538/weights/rx-full-grpo_gs8-final"
  },
  {
    "arm": "grpo_gs8",
    "step": 40,
    "uri": "tinker://4a41c84719dfa5985f5ce122cf586538:train:0/sampler_weights/rx-full-grpo_gs8-final"
  },
  {
    "arm": "gs1_kernel",
    "step": 40,
    "uri": "tinker://82134dc5c7344adfe7534612673e9353/weights/rx-full-gs1_kernel-final"
  },
  {
    "arm": "gs1_kernel",
    "step": 40,
    "uri": "tinker://82134dc5c7344adfe7534612673e9353:train:0/sampler_weights/rx-full-gs1_kernel-final"
  },
  {
    "arm": "init",
    "step": 0,
    "uri": "tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2"
  }
]
Per-arm evidence metrics
{
  "base": {
    "accuracy": 0.7058377558756633,
    "correct": 931,
    "n_eval": 1319
  },
  "grpo_gs8": {
    "accuracy": 0.7134192570128886,
    "correct": 941,
    "executed_group_size": 8.0,
    "frac_nonzero_advantage": 0.696875,
    "mean_step_seconds": 31.904820145925015,
    "mean_train_reward": 0.6780078125,
    "n_eval": 1319,
    "steps": 40
  },
  "gs1_kernel": {
    "accuracy": 0.7460197119029568,
    "bandwidth": 1.0,
    "correct": 984,
    "executed_group_size": 1.0,
    "frac_nonzero_advantage": 1.0,
    "mean_step_seconds": 25.02958305557502,
    "mean_train_reward": 0.67875,
    "min_step_kernel_neff_p10": 20.546155946720656,
    "n_eval": 1319,
    "steps": 40
  }
}

Evidence import problems: file 24: invalid file name or kind; file 31: attachment retrieval returned HTTP 401; file 32: attachment retrieval returned HTTP 401; file 33: attachment retrieval returned HTTP 401; file 34: attachment retrieval returned HTTP 401; file 35: attachment retrieval returned HTTP 401; file 36: attachment retrieval returned HTTP 401; file 37: attachment retrieval returned HTTP 401; file 38: attachment retrieval returned HTTP 401; file 39: attachment retrieval returned HTTP 401; file 40: attachment retrieval returned HTTP 401.

All metrics
metricbasegrpo_gs8gs1_kernel
accuracy0.70580.71340.746
correct931941984
n_eval1,3191,3191,319
steps—4040
mean_train_reward—0.6780.6787
frac_nonzero_advantage—0.69691
mean_step_seconds—31.925.03
executed_group_size—81
bandwidth——1
min_step_kernel_neff_p10——20.55
base_gsm8k_test_accuracy
0.7058
effect_gs1_minus_grpo
0.0326
hoeffding_lower
-0.04219
hoeffding_upper
0.1074
driver_wall_seconds
1,512.1
full_driver_wall_seconds
1,515.4
Interim updates from Devin (4, first Nov 4, 17:00 UTC)
Artifact references
  • checkpoint · grpo_gs8 · step 40 · tinker://4a41c84719dfa5985f5ce122cf586538/weights/rx-full-grpo_gs8-final
  • checkpoint · grpo_gs8 · step 40 · tinker://4a41c84719dfa5985f5ce122cf586538:train:0/sampler_weights/rx-full-grpo_gs8-final
  • checkpoint · gs1_kernel · step 40 · tinker://82134dc5c7344adfe7534612673e9353/weights/rx-full-gs1_kernel-final
  • checkpoint · gs1_kernel · step 40 · tinker://82134dc5c7344adfe7534612673e9353:train:0/sampler_weights/rx-full-gs1_kernel-final
  • checkpoint · init · step 0 · tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2
  • instructions · launch-instructions.md sha256 e43e9a9f1332
  • script · full_run.py sha256 9819649af824
  • script · rx_gs1.py sha256 fca7ac942829
  • script · gs1_reference.py sha256 757d81c606f9
  • script · eval.py sha256 bd1685b8ff81
  • script · pilot.py sha256 3908eba8c54a
  • script · run_preflight.py sha256 fe8c51605bae
  • script · remote_stages.py sha256 2e00c243730f
  • script · offline_tests.py sha256 c7ef1b9293f3
  • script · seed_probe.py sha256 4f79627f70ba
  • script · assemble.py sha256 bd426601bd67
  • effective_config · effective-spec.json sha256 97d70674ad16
  • code_revision · pins.json sha256 63da79f31d56
  • metrics · decision-full.json sha256 d319e56a84e2
  • metrics · paired-hoeffding.json sha256 fe1092650185
  • metrics · preflight.json sha256 bbe4f0b59056
  • metrics · validator-effective.json sha256 bfc1aa5ad264
  • metrics · validator-original.json sha256 3f219163eb7f
  • metrics · restoration-validation.json sha256 5251d7d72353
  • metrics · initialization_provenance_full.json sha256 ef16e0790f16
  • metrics · initialization_provenance.json sha256 1b76fd7fca1d
  • metrics · probe.json sha256 57ef9aa15aaa
  • metrics · offline-advantage-tests.json sha256 a4ea95ead0bd
  • metrics · seed-rejection.log sha256 9a4f6cf916a7
  • metrics · activation-calibration.json sha256 dea7a52382ba
  • metrics · activation-pilot-gate-bw0.5.json sha256 672b1018ebae
  • metrics · activation-pilot-gate-bw1.0.json sha256 cd477aa621ec
  • metrics · measurements.json sha256 93cf577efd57
  • metrics · evaluation-base.json sha256 ce92325ada1c
  • metrics · full__timings.json sha256 7cc19fd9f06d
  • metrics · scored-observations.jsonl sha256 c180d027d8ad
  • predictions · predictions-grpo_gs8.jsonl sha256 9d8cfc56fd81
  • predictions · predictions-gs1_kernel.jsonl sha256 d4f0a7fee294
  • predictions · predictions-base.jsonl sha256 a12686ed0ab8
  • metrics · evaluator.json sha256 1000c94bc359
  • metrics · evaluation-full.json sha256 291f220e980c
  • metrics · evaluation-items.jsonl sha256 2605906367ae
  • metrics · activation-pilot-treatment-bw0.5.json sha256 78e4ff216fed
  • metrics · activation-pilot-treatment-bw1.0.json sha256 35d945a12270
  • metrics · activation-pilot-baseline.json sha256 32d33d4825b2
  1. Nov 4, 17:37 UTC · succeeded · done: grpo_gs8, gs1_kernel · Ran grpo_gs8 (8x8) and gs1_kernel (64x1, kernel bandwidth 1.0 after the pre-registered calibration) for 40 steps each on shared Spindle (Qwen3.5-2B LoRA r32, one matched init checkpoint); final greed…
  2. Nov 4, 17:10 UTC · running · Preflights done (correctness passed on pinned effective spec, matched init outputs identical across arms, probes finite); activation pilot at bandwidth 0.5 failed only neff_p10 (7.97<8), pre-register…
  3. Nov 4, 17:04 UTC · running · Correctness preflight passed on the pinned effective spec (all four parity errors 0; original spec unverified only because its revisions are placeholders) and base Qwen3.5-2B greedy GSM8K test accura…
  4. Nov 4, 17:00 UTC · running · Launch instructions downloaded and hash-verified; offline float64 advantage unit tests passed and shared Spindle rejected per-model seed=0 (Miles multi-LoRA). Running correctness/restoration prefligh…
Artifacts
correctness_preflight
{'required': True, 'paths': [{'id': 'gs1_kernel_advantage_loop', 'baseline_revision': 'f79fdb2ba4cd967ef2807ba43097c52985f9f17f', 'reference_revision': 'git:b3003c0183695d564ca4f7696426ac40012b235e;sha256:757d81c606f9793f259c6afd5ffe6f5e52382328560145b682d84d814da9a50e', 'implementation_revision': 'sha256:fca7ac94282999a136228f2bd6fce7944a20c4ac21959bbb8774fb93aa824202', 'fixed_input': {'sha256': 'ce347fb22b721e8a8097bee69d1da2f7980fb7c7d79e8efc53b00882b8cca345', 'description': 'fixed-batch.json: seed-0 first 8 GSM8K train prompts x8, sampled init rank32; trainer-forward.json: one forward on never-updated init client; no optimizer state or updates'}, 'precision': 'numpy float64 analytic loss/full dL/dlogprobs, trainer/sampler returned logprobs, stock advantages float32', 'normalization': 'negative token sum of exp(trainer_logprob-sampler_logprob)*advantage, no token/batch divisor; prompt token advantages zero; no packing; full per-token logprob gradient', 'errors': {'baseline_loss': {'max_abs_error': 0.0, 'reference_max_abs': 783.4791951064552, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}, 'baseline_gradient': {'max_abs_error': 0.0, 'reference_max_abs': 1.0809257631265885, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}, 'reference_loss': {'max_abs_error': 0.0, 'reference_max_abs': 901.8301944397052, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}, 'reference_gradient': {'max_abs_error': 0.0, 'reference_max_abs': 1.2315145668947074, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}}}]}
correctness_validation
{'status': 'unverified', 'required': True, 'checks': [{'path': 'gs1_kernel_advantage_loop', 'check': 'baseline_loss', 'status': 'passed', 'tolerance': {'atol': 1e-06, 'rtol': 1e-05}, 'measured': {'max_abs_error': 0.0, 'reference_max_abs': 783.4791951064552, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}}, {'path': 'gs1_kernel_advantage_loop', 'check': 'baseline_gradient', 'status': 'passed', 'tolerance': {'atol': 1e-05, 'rtol': 0.0001, 'min_cosine': 0.99999}, 'measured': {'max_abs_error': 0.0, 'reference_max_abs': 1.0809257631265885, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}}, {'path': 'gs1_kernel_advantage_loop', 'check': 'reference_loss', 'status': 'passed', 'tolerance': {'atol': 1e-06, 'rtol': 1e-05}, 'measured': {'max_abs_error': 0.0, 'reference_max_abs': 901.8301944397052, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}}, {'path': 'gs1_kernel_advantage_loop', 'check': 'reference_gradient', 'status': 'passed', 'tolerance': {'atol': 1e-05, 'rtol': 0.0001, 'min_cosine': 0.99999}, 'measured': {'max_abs_error': 0.0, 'reference_max_abs': 1.2315145668947074, 'relative_l2_error': 0.0, 'cosine_similarity': 1.0}}], 'reason': 'gs1_kernel_advantage_loop: matching reference_revision; gs1_kernel_advantage_loop: matching baseline_revision', 'evidence_source': 'executor report; remote execution is not attested', 'applicability': 'required', 'reported_verdict': 'refuted'}
decision
{'version': 1, 'observations_file': {'name': 'scored-observations.jsonl', 'sha256': 'c180d027d8adfbd1614f66b256488db8a98ca41ba28b442fa3a11019c57d8cfa'}}
decision_validation
{'status': 'unverified', 'issues': ['Observation file name/hash is not retained for this run.'], 'criteria': [], 'outcome_reason': 'insufficient_evidence', 'applicability': {'check': 'decision_rule', 'status': 'required', 'enforce': True, 'reasons': ['experiment_features: paired_comparison is true'], 'features': {'paired_comparison': True, 'adaptive_selection': False}}, 'reported_verdict': 'refuted'}
evaluation
{'version': 1, 'evaluators': {'5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70': {'code_sha256': '8c6009f7253bcd59e9951ab66e24e21b88c1135d1760e450fa516db32837893a', 'code_manifest': {'dependency_versions': {'tinker': '0.37.0', 'tinker-cookbook': '0.5.10.dev3+gf79fdb2ba', 'datasets': '5.1.0', 'transformers': '5.22.1', 'tokenizers': '0.23.3', 'sympy': '1.14.0', 'numpy': '2.5.4', 'torch': '2.15.0', 'research-exchange': '0.1.0'}, 'files': {'eval.py': 'bd1685b8ff81d0ebabbeffbdd645f470bf51f2d54b885018a738c6bfe81ca177', 'rx_gs1.py': 'fca7ac94282999a136228f2bd6fce7944a20c4ac21959bbb8774fb93aa824202', 'cookbook/tinker_cookbook/recipes/math_rl/math_env.py': '51688df7c46e7dacd050be6a309bda76527c4b9a97a40ba276b2179b982c00b5', 'cookbook/tinker_cookbook/recipes/math_rl/math_grading.py': '712b5ab7925bf7d9fea2a51560a2067e38725cf8cef276835efa64b90f9bd35e', 'cookbook/tinker_cookbook/rl/problem_env.py': 'f4ea5eb8a27dfc13732100a3e7ccefe3f0eda4ad247acbfa01b8203d7b640406', 'cookbook/tinker_cookbook/completers.py': '199a89939f43444e42ea2dbf8aa19d679ba0666735ab564b30965e6a6f49b4fd', 'cookbook/tinker_cookbook/renderers/__init__.py': '49ae762f09c1e666a7155cc49c1a1d264aa3d21cba85731ee31c508b652e29ee', 'cookbook/tinker_cookbook/renderers/base.py': '8701a6cc7c6f62eed0d9c9b693e1e7cb4d45aea43e264a08667a0abcf8b9a8da', 'cookbook/tinker_cookbook/renderers/deepseek_v3.py': 'b84fff4b680df65c5359919db1801b28c73503d1b35f49ec437d44cd95439ab6', 'cookbook/tinker_cookbook/renderers/deepseek_v3_test.py': '9dd2de0eaf8d837a9362ce9a16326a3b4fb5d0806f3478e282787b981c54c3a4', 'cookbook/tinker_cookbook/renderers/deepseek_v4_1.py': '370273e5af3526e3314f60e0895ac16c201e6a10a9a8cc58b9843cfde3eeaba2', 'cookbook/tinker_cookbook/renderers/deepseek_v4_1_test.py': 'abd2a0c9699de1df89e92ab3b622b9e10e85e23f3e5931b957d58c47e1099d2e', 'cookbook/tinker_cookbook/renderers/glm5_3.py': '82c48f25006b0706a5dd276daf562fe1bf7a93c0842addabcb4bee3e13d2e290', 'cookbook/tinker_cookbook/renderers/glm5_3_test.py': '20e51be003f02a021824722535815c0eb82aaa2ef878bba9863b1de472d1f881', 'cookbook/tinker_cookbook/renderers/gpt_oss.py': '0f3975177f453399c83ea20ac213f0a178a2023e8314421dc801431dd46fd27d', 'cookbook/tinker_cookbook/renderers/gpt_oss_test.py': '3a91df9164a65479e040d8cd6e705a2829cf28907f99dd94bf742c04529edf11', 'cookbook/tinker_cookbook/renderers/image_token_count_test.py': 'c1c5826a94f95c5431abe2ce6592f5fc7218416fe7faefc1f25cd1eb64fa55fa', 'cookbook/tinker_cookbook/renderers/kimi_k2.py': '7c321a89346dd80cf3788a9018f57d60ac960ca74b2ef0e436d7e5166dd04e1d', 'cookbook/tinker_cookbook/renderers/kimi_k25.py': '50dc849e1732514c533f2042b8c58dbc620386a3403107329062f6fbee02518c', 'cookbook/tinker_cookbook/renderers/kimi_k25_test.py': 'e82ba820538cca8aa5dcc24473f434633ec60a7b4c7021ac7e73ef6c46cd0017', 'cookbook/tinker_cookbook/renderers/kimi_k26.py': '348ab2e12cb969428c72bf699f6361898eb6752f66cae7d03c8cea054c79dbd7', 'cookbook/tinker_cookbook/renderers/kimi_k26_test.py': '0d250dfebd73c9d0008b41aedfab51198f69f0d273770ad87da74fd17d4a3cfe', 'cookbook/tinker_cookbook/renderers/kimi_k2_5_tool_declaration_ts.py': '03d1677d2cb111e5c71521e433cb72e4e7aa1c758ef1cdb40a9c08f4a3935dc4', 'cookbook/tinker_cookbook/renderers/kimi_k2_test.py': '8125a31e4225b22943b4e260241e840ede4b360ef8b88dd6549665aeed900ace', 'cookbook/tinker_cookbook/renderers/kimi_k2_tool_declaration_test.py': '8d9332492405b629e8186333bafd0336fa3b6b7dd0963df7c8dd3cb6b5c68ccf', 'cookbook/tinker_cookbook/renderers/llama3.py': 'f729ea6c5f73843144a05c7edafa8a9653bdb81a6f7add82f3a0e9a05d425e4a', 'cookbook/tinker_cookbook/renderers/nemotron3.py': 'b554eea043cca28eb6086a22181204358ce40982dead2f2e3b2b524cb8bd887d', 'cookbook/tinker_cookbook/renderers/nemotron3_5_super_test.py': 'b65d5ee372a11f7892d3de060b47944ec8aadb89dcde9db5eb1b50de7b05b273', 'cookbook/tinker_cookbook/renderers/nemotron3_test.py': '319e27f8d5f350e2f931fdaa3c7c4f552f2ddbbcc4c3117f490807b90b8ea38e', 'cookbook/tinker_cookbook/renderers/parse_failure_test.py': '57ada2f378b3b8eedbc85348343251b32b140dda5090bab07f0d848ea57932f0', 'cookbook/tinker_cookbook/renderers/parsing_test.py': '44df6921517b9282fb43718c89e9d7e4982847ac05b3b011e62e72a4fcaf70e0', 'cookbook/tinker_cookbook/renderers/qwen3.py': '3e5388721083a5074883f6e4705fbbad6171a62a4b91205994ae662983d3250b', 'cookbook/tinker_cookbook/renderers/qwen3_5.py': '74131b11bf356d9e582df63d6417825b2a43a26aae6150f97833bf72ad2eec10', 'cookbook/tinker_cookbook/renderers/qwen3_8.py': '9416fe90ef4b0a81e83e8ccf0c9a94fcdf813d62698e85cb94cf8c11b99eacbe', 'cookbook/tinker_cookbook/renderers/qwen3_8_test.py': 'f2d8b55f451aa655ed95b2d47a27745969772b982f6e12808970c552c6beda7b', 'cookbook/tinker_cookbook/renderers/qwen3_concurrency_test.py': '8f25f1ed41c240e6b1285020d08d7cb6ca72c4ad038d119b7fb21cb92e596441', 'cookbook/tinker_cookbook/renderers/qwen3_test.py': 'e34a832369c7dfefea36eb656a512c0318cd42c2007ccfe79be6bcce9ae5b8ff', 'cookbook/tinker_cookbook/renderers/qwen3_tool_declaration_test.py': 'ac112ec39808ed8f62943e5fc21a463c13f5712bc735880f8ef798a723d2da16', 'cookbook/tinker_cookbook/renderers/renderer_pickle_test.py': 'dd66ee8c26efec3c71060d455ef7d6f7ac85d3ff8b22b93938f9971e2221bd5e', 'cookbook/tinker_cookbook/renderers/renderers_test.py': 'd7ce692125a7146a49a515c744771ebb136979ca663d8b491ae8ab207f907ddd', 'cookbook/tinker_cookbook/renderers/role_colon.py': '76e41debaae235a163eabed8d32ccc6d35dd0fdeecdffa3950974c90aeea74f4', 'cookbook/tinker_cookbook/renderers/role_colon_test.py': 'dfffcb299cd39b4fdebaebbac3a9788b84c72ce120f8841b70b7d572c48f13ee', 'cookbook/tinker_cookbook/renderers/testing_utils.py': 'e4b1f24fa6049362a4c1a1e4e13cb7ef2164ae4ad5268254d93257a6ddaffe2c', 'cookbook/tinker_cookbook/renderers/tml_v0.py': '54f8639a5975dad1e199dd2c69df64f5e78ca54f378036e5aa51ad0e140da7a8', 'cookbook/tinker_cookbook/renderers/tml_v0_test.py': '088202d065d0115ecb6f92fb91dd9f2f964c8f9fa16778a247c052acacc38878', 'cookbook/tinker_cookbook/renderers/tool_calling_test.py': 'c9702636fe6a53a0c74cf0a342d2659234f23ba962cdeb44184ae6d071061bf8'}}, 'prompt_template': {'renderer': 'qwen3_5_disable_thinking', 'tokenizer': 'Qwen/Qwen3.5-2B', 'tokenizer_chat_template': '{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if \'image\' in item or \'image_url\' in item or item.type == \'image\' %}\n {%- if is_system_content %}\n {{- raise_exception(\'System message cannot contain images.\') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- \'Picture \' ~ image_count.value ~ \': \' }}\n {%- endif %}\n {{- \'<|vision_start|><|image_pad|><|vision_end|>\' }}\n {%- elif \'video\' in item or item.type == \'video\' %}\n {%- if is_system_content %}\n {{- raise_exception(\'System message cannot contain videos.\') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- \'Video \' ~ video_count.value ~ \': \' }}\n {%- endif %}\n {{- \'<|vision_start|><|video_pad|><|vision_end|>\' }}\n {%- elif \'text\' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception(\'Unexpected item type in content.\') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- \'\' }}\n {%- else %}\n {{- raise_exception(\'Unexpected content type.\') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception(\'No messages provided.\') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- \'<|im_start|>system\\n\' }}\n {{- "# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>" }}\n {%- for tool in tools %}\n {{- "\\n" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- "\\n</tools>" }}\n {{- \'\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n</IMPORTANT>\' }}\n {%- if messages[0].role == \'system\' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- \'\\n\\n\' + content }}\n {%- endif %}\n {%- endif %}\n {{- \'<|im_end|>\\n\' }}\n{%- else %}\n {%- if messages[0].role == \'system\' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- \'<|im_start|>system\\n\' + content + \'<|im_end|>\\n\' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == "user" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith(\'<tool_response>\') and content.endswith(\'</tool_response>\')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception(\'No user query found in messages.\') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == "system" %}\n {%- if not loop.first %}\n {{- raise_exception(\'System message must be at the beginning.\') }}\n {%- endif %}\n {%- elif message.role == "user" %}\n {{- \'<|im_start|>\' + message.role + \'\\n\' + content + \'<|im_end|>\' + \'\\n\' }}\n {%- elif message.role == "assistant" %}\n {%- set reasoning_content = \'\' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if \'</think>\' in content %}\n {%- set reasoning_content = content.split(\'</think>\')[0].rstrip(\'\\n\').split(\'<think>\')[-1].lstrip(\'\\n\') %}\n {%- set content = content.split(\'</think>\')[-1].lstrip(\'\\n\') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if loop.index0 > ns.last_query_index %}\n {{- \'<|im_start|>\' + message.role + \'\\n<think>\\n\' + reasoning_content + \'\\n</think>\\n\\n\' + content }}\n {%- else %}\n {{- \'<|im_start|>\' + message.role + \'\\n\' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- \'\\n\\n<tool_call>\\n<function=\' + tool_call.name + \'>\\n\' }}\n {%- else %}\n {{- \'<tool_call>\\n<function=\' + tool_call.name + \'>\\n\' }}\n {%- endif %}\n {%- else %}\n {{- \'\\n<tool_call>\\n<function=\' + tool_call.name + \'>\\n\' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- \'<parameter=\' + args_name + \'>\\n\' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\n {{- args_value }}\n {{- \'\\n</parameter>\\n\' }}\n {%- endfor %}\n {%- endif %}\n {{- \'</function>\\n</tool_call>\' }}\n {%- endfor %}\n {%- endif %}\n {{- \'<|im_end|>\\n\' }}\n {%- elif message.role == "tool" %}\n {%- if loop.previtem and loop.previtem.role != "tool" %}\n {{- \'<|im_start|>user\' }}\n {%- endif %}\n {{- \'\\n<tool_response>\\n\' }}\n {{- content }}\n {{- \'\\n</tool_response>\' }}\n {%- if not loop.last and loop.nextitem.role != "tool" %}\n {{- \'<|im_end|>\\n\' }}\n {%- elif loop.last %}\n {{- \'<|im_end|>\\n\' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception(\'Unexpected message role.\') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- \'<|im_start|>assistant\\n\' }}\n {%- if enable_thinking is defined and enable_thinking is true %}\n {{- \'<think>\\n\' }}\n {%- else %}\n {{- \'<think>\\n\\n</think>\\n\\n\' }}\n {%- endif %}\n{%- endif %}', 'conversation_prefix': [{'role': 'user', 'content': "How many r's are in strawberry? Write your answer in \\boxed{} format."}, {'role': 'assistant', 'content': "Let's spell the word out and number all the letters: 1) s 2) t 3) r 4) a 5) w 6) b 7) e 8) r 9) r 10) y. We have r's at positions 3, 8, and 9. \\boxed{3}"}], 'user_message': '{gsm8k.question} Write your answer in \\boxed{} format.', 'rendering': 'MathEnv.initial_observation -> renderer.build_generation_prompt; exact rendered token IDs in manifest'}, 'decoding': {'temperature': 0, 'max_tokens': 512, 'stop': [248046], 'num_samples': 1}, 'parser': {'description': 'Cookbook MathEnv.check_answer -> extract_boxed -> safe_grade(default sympy, timeout=1s) -> grade_answer: normalized/symbolic matching, NOT research_exchange numeric_exact. numeric_exact applies only to generation_audit, inapplicable here. Missing boxes/invalid outputs are incorrect; renderer.parse_response precedes grading. Accuracy excludes format reward.', 'cookbook_sha': 'f79fdb2ba4cd967ef2807ba43097c52985f9f17f', 'guard': 'math_grading._is_int(x) = math.isfinite(x) and original_is_int(x)', 'immutable_sources': {'eval.py': 'bd1685b8ff81d0ebabbeffbdd645f470bf51f2d54b885018a738c6bfe81ca177', 'rx_gs1.py': 'fca7ac94282999a136228f2bd6fce7944a20c4ac21959bbb8774fb93aa824202', 'cookbook/tinker_cookbook/recipes/math_rl/math_env.py': '51688df7c46e7dacd050be6a309bda76527c4b9a97a40ba276b2179b982c00b5', 'cookbook/tinker_cookbook/recipes/math_rl/math_grading.py': '712b5ab7925bf7d9fea2a51560a2067e38725cf8cef276835efa64b90f9bd35e', 'cookbook/tinker_cookbook/rl/problem_env.py': 'f4ea5eb8a27dfc13732100a3e7ccefe3f0eda4ad247acbfa01b8203d7b640406', 'cookbook/tinker_cookbook/completers.py': '199a89939f43444e42ea2dbf8aa19d679ba0666735ab564b30965e6a6f49b4fd', 'cookbook/tinker_cookbook/renderers/__init__.py': '49ae762f09c1e666a7155cc49c1a1d264aa3d21cba85731ee31c508b652e29ee', 'cookbook/tinker_cookbook/renderers/base.py': '8701a6cc7c6f62eed0d9c9b693e1e7cb4d45aea43e264a08667a0abcf8b9a8da', 'cookbook/tinker_cookbook/renderers/deepseek_v3.py': 'b84fff4b680df65c5359919db1801b28c73503d1b35f49ec437d44cd95439ab6', 'cookbook/tinker_cookbook/renderers/deepseek_v3_test.py': '9dd2de0eaf8d837a9362ce9a16326a3b4fb5d0806f3478e282787b981c54c3a4', 'cookbook/tinker_cookbook/renderers/deepseek_v4_1.py': '370273e5af3526e3314f60e0895ac16c201e6a10a9a8cc58b9843cfde3eeaba2', 'cookbook/tinker_cookbook/renderers/deepseek_v4_1_test.py': 'abd2a0c9699de1df89e92ab3b622b9e10e85e23f3e5931b957d58c47e1099d2e', 'cookbook/tinker_cookbook/renderers/glm5_3.py': '82c48f25006b0706a5dd276daf562fe1bf7a93c0842addabcb4bee3e13d2e290', 'cookbook/tinker_cookbook/renderers/glm5_3_test.py': '20e51be003f02a021824722535815c0eb82aaa2ef878bba9863b1de472d1f881', 'cookbook/tinker_cookbook/renderers/gpt_oss.py': '0f3975177f453399c83ea20ac213f0a178a2023e8314421dc801431dd46fd27d', 'cookbook/tinker_cookbook/renderers/gpt_oss_test.py': '3a91df9164a65479e040d8cd6e705a2829cf28907f99dd94bf742c04529edf11', 'cookbook/tinker_cookbook/renderers/image_token_count_test.py': 'c1c5826a94f95c5431abe2ce6592f5fc7218416fe7faefc1f25cd1eb64fa55fa', 'cookbook/tinker_cookbook/renderers/kimi_k2.py': '7c321a89346dd80cf3788a9018f57d60ac960ca74b2ef0e436d7e5166dd04e1d', 'cookbook/tinker_cookbook/renderers/kimi_k25.py': '50dc849e1732514c533f2042b8c58dbc620386a3403107329062f6fbee02518c', 'cookbook/tinker_cookbook/renderers/kimi_k25_test.py': 'e82ba820538cca8aa5dcc24473f434633ec60a7b4c7021ac7e73ef6c46cd0017', 'cookbook/tinker_cookbook/renderers/kimi_k26.py': '348ab2e12cb969428c72bf699f6361898eb6752f66cae7d03c8cea054c79dbd7', 'cookbook/tinker_cookbook/renderers/kimi_k26_test.py': '0d250dfebd73c9d0008b41aedfab51198f69f0d273770ad87da74fd17d4a3cfe', 'cookbook/tinker_cookbook/renderers/kimi_k2_5_tool_declaration_ts.py': '03d1677d2cb111e5c71521e433cb72e4e7aa1c758ef1cdb40a9c08f4a3935dc4', 'cookbook/tinker_cookbook/renderers/kimi_k2_test.py': '8125a31e4225b22943b4e260241e840ede4b360ef8b88dd6549665aeed900ace', 'cookbook/tinker_cookbook/renderers/kimi_k2_tool_declaration_test.py': '8d9332492405b629e8186333bafd0336fa3b6b7dd0963df7c8dd3cb6b5c68ccf', 'cookbook/tinker_cookbook/renderers/llama3.py': 'f729ea6c5f73843144a05c7edafa8a9653bdb81a6f7add82f3a0e9a05d425e4a', 'cookbook/tinker_cookbook/renderers/nemotron3.py': 'b554eea043cca28eb6086a22181204358ce40982dead2f2e3b2b524cb8bd887d', 'cookbook/tinker_cookbook/renderers/nemotron3_5_super_test.py': 'b65d5ee372a11f7892d3de060b47944ec8aadb89dcde9db5eb1b50de7b05b273', 'cookbook/tinker_cookbook/renderers/nemotron3_test.py': '319e27f8d5f350e2f931fdaa3c7c4f552f2ddbbcc4c3117f490807b90b8ea38e', 'cookbook/tinker_cookbook/renderers/parse_failure_test.py': '57ada2f378b3b8eedbc85348343251b32b140dda5090bab07f0d848ea57932f0', 'cookbook/tinker_cookbook/renderers/parsing_test.py': '44df6921517b9282fb43718c89e9d7e4982847ac05b3b011e62e72a4fcaf70e0', 'cookbook/tinker_cookbook/renderers/qwen3.py': '3e5388721083a5074883f6e4705fbbad6171a62a4b91205994ae662983d3250b', 'cookbook/tinker_cookbook/renderers/qwen3_5.py': '74131b11bf356d9e582df63d6417825b2a43a26aae6150f97833bf72ad2eec10', 'cookbook/tinker_cookbook/renderers/qwen3_8.py': '9416fe90ef4b0a81e83e8ccf0c9a94fcdf813d62698e85cb94cf8c11b99eacbe', 'cookbook/tinker_cookbook/renderers/qwen3_8_test.py': 'f2d8b55f451aa655ed95b2d47a27745969772b982f6e12808970c552c6beda7b', 'cookbook/tinker_cookbook/renderers/qwen3_concurrency_test.py': '8f25f1ed41c240e6b1285020d08d7cb6ca72c4ad038d119b7fb21cb92e596441', 'cookbook/tinker_cookbook/renderers/qwen3_test.py': 'e34a832369c7dfefea36eb656a512c0318cd42c2007ccfe79be6bcce9ae5b8ff', 'cookbook/tinker_cookbook/renderers/qwen3_tool_declaration_test.py': 'ac112ec39808ed8f62943e5fc21a463c13f5712bc735880f8ef798a723d2da16', 'cookbook/tinker_cookbook/renderers/renderer_pickle_test.py': 'dd66ee8c26efec3c71060d455ef7d6f7ac85d3ff8b22b93938f9971e2221bd5e', 'cookbook/tinker_cookbook/renderers/renderers_test.py': 'd7ce692125a7146a49a515c744771ebb136979ca663d8b491ae8ab207f907ddd', 'cookbook/tinker_cookbook/renderers/role_colon.py': '76e41debaae235a163eabed8d32ccc6d35dd0fdeecdffa3950974c90aeea74f4', 'cookbook/tinker_cookbook/renderers/role_colon_test.py': 'dfffcb299cd39b4fdebaebbac3a9788b84c72ce120f8841b70b7d572c48f13ee', 'cookbook/tinker_cookbook/renderers/testing_utils.py': 'e4b1f24fa6049362a4c1a1e4e13cb7ef2164ae4ad5268254d93257a6ddaffe2c', 'cookbook/tinker_cookbook/renderers/tml_v0.py': '54f8639a5975dad1e199dd2c69df64f5e78ca54f378036e5aa51ad0e140da7a8', 'cookbook/tinker_cookbook/renderers/tml_v0_test.py': '088202d065d0115ecb6f92fb91dd9f2f964c8f9fa16778a247c052acacc38878', 'cookbook/tinker_cookbook/renderers/tool_calling_test.py': 'c9702636fe6a53a0c74cf0a342d2659234f23ba962cdeb44184ae6d071061bf8'}}, 'items': {'ids': ['gsm8k-test-0000', 'gsm8k-test-0001', 'gsm8k-test-0002', 'gsm8k-test-0003', 'gsm8k-test-0004', 'gsm8k-test-0005', 'gsm8k-test-0006', 'gsm8k-test-0007', 'gsm8k-test-0008', 'gsm8k-test-0009', 'gsm8k-test-0010', 'gsm8k-test-0011', 'gsm8k-test-0012', 'gsm8k-test-0013', 'gsm8k-test-0014', 'gsm8k-test-0015', 'gsm8k-test-0016', 'gsm8k-test-0017', 'gsm8k-test-0018', 'gsm8k-test-0019', 'gsm8k-test-0020', 'gsm8k-test-0021', 'gsm8k-test-0022', 'gsm8k-test-0023', 'gsm8k-test-0024', 'gsm8k-test-0025', 'gsm8k-test-0026', 'gsm8k-test-0027', 'gsm8k-test-0028', 'gsm8k-test-0029', 'gsm8k-test-0030', 'gsm8k-test-0031', 'gsm8k-test-0032', 'gsm8k-test-0033', 'gsm8k-test-0034', 'gsm8k-test-0035', 'gsm8k-test-0036', 'gsm8k-test-0037', 'gsm8k-test-0038', 'gsm8k-test-0039', 'gsm8k-test-0040', 'gsm8k-test-0041', 'gsm8k-test-0042', 'gsm8k-test-0043', 'gsm8k-test-0044', 'gsm8k-test-0045', 'gsm8k-test-0046', 'gsm8k-test-0047', 'gsm8k-test-0048', 'gsm8k-test-0049', 'gsm8k-test-0050', 'gsm8k-test-0051', 'gsm8k-test-0052', 'gsm8k-test-0053', 'gsm8k-test-0054', 'gsm8k-test-0055', 'gsm8k-test-0056', 'gsm8k-test-0057', 'gsm8k-test-0058', 'gsm8k-test-0059', 'gsm8k-test-0060', 'gsm8k-test-0061', 'gsm8k-test-0062', 'gsm8k-test-0063', 'gsm8k-test-0064', 'gsm8k-test-0065', 'gsm8k-test-0066', 'gsm8k-test-0067', 'gsm8k-test-0068', 'gsm8k-test-0069', 'gsm8k-test-0070', 'gsm8k-test-0071', 'gsm8k-test-0072', 'gsm8k-test-0073', 'gsm8k-test-0074', 'gsm8k-test-0075', 'gsm8k-test-0076', 'gsm8k-test-0077', 'gsm8k-test-0078', 'gsm8k-test-0079', 'gsm8k-test-0080', 'gsm8k-test-0081', 'gsm8k-test-0082', 'gsm8k-test-0083', 'gsm8k-test-0084', 'gsm8k-test-0085', 'gsm8k-test-0086', 'gsm8k-test-0087', 'gsm8k-test-0088', 'gsm8k-test-0089', 'gsm8k-test-0090', 'gsm8k-test-0091', 'gsm8k-test-0092', 'gsm8k-test-0093', 'gsm8k-test-0094', 'gsm8k-test-0095', 'gsm8k-test-0096', 'gsm8k-test-0097', 'gsm8k-test-0098', 'gsm8k-test-0099', 'gsm8k-test-0100', 'gsm8k-test-0101', 'gsm8k-test-0102', 'gsm8k-test-0103', 'gsm8k-test-0104', 'gsm8k-test-0105', 'gsm8k-test-0106', 'gsm8k-test-0107', 'gsm8k-test-0108', 'gsm8k-test-0109', 'gsm8k-test-0110', 'gsm8k-test-0111', 'gsm8k-test-0112', 'gsm8k-test-0113', 'gsm8k-test-0114', 'gsm8k-test-0115', 'gsm8k-test-0116', 'gsm8k-test-0117', 'gsm8k-test-0118', 'gsm8k-test-0119', 'gsm8k-test-0120', 'gsm8k-test-0121', 'gsm8k-test-0122', 'gsm8k-test-0123', 'gsm8k-test-0124', 'gsm8k-test-0125', 'gsm8k-test-0126', 'gsm8k-test-0127', 'gsm8k-test-0128', 'gsm8k-test-0129', 'gsm8k-test-0130', 'gsm8k-test-0131', 'gsm8k-test-0132', 'gsm8k-test-0133', 'gsm8k-test-0134', 'gsm8k-test-0135', 'gsm8k-test-0136', 'gsm8k-test-0137', 'gsm8k-test-0138', 'gsm8k-test-0139', 'gsm8k-test-0140', 'gsm8k-test-0141', 'gsm8k-test-0142', 'gsm8k-test-0143', 'gsm8k-test-0144', 'gsm8k-test-0145', 'gsm8k-test-0146', 'gsm8k-test-0147', 'gsm8k-test-0148', 'gsm8k-test-0149', 'gsm8k-test-0150', 'gsm8k-test-0151', 'gsm8k-test-0152', 'gsm8k-test-0153', 'gsm8k-test-0154', 'gsm8k-test-0155', 'gsm8k-test-0156', 'gsm8k-test-0157', 'gsm8k-test-0158', 'gsm8k-test-0159', 'gsm8k-test-0160', 'gsm8k-test-0161', 'gsm8k-test-0162', 'gsm8k-test-0163', 'gsm8k-test-0164', 'gsm8k-test-0165', 'gsm8k-test-0166', 'gsm8k-test-0167', 'gsm8k-test-0168', 'gsm8k-test-0169', 'gsm8k-test-0170', 'gsm8k-test-0171', 'gsm8k-test-0172', 'gsm8k-test-0173', 'gsm8k-test-0174', 'gsm8k-test-0175', 'gsm8k-test-0176', 'gsm8k-test-0177', 'gsm8k-test-0178', 'gsm8k-test-0179', 'gsm8k-test-0180', 'gsm8k-test-0181', 'gsm8k-test-0182', 'gsm8k-test-0183', 'gsm8k-test-0184', 'gsm8k-test-0185', 'gsm8k-test-0186', 'gsm8k-test-0187', 'gsm8k-test-0188', 'gsm8k-test-0189', 'gsm8k-test-0190', 'gsm8k-test-0191', 'gsm8k-test-0192', 'gsm8k-test-0193', 'gsm8k-test-0194', 'gsm8k-test-0195', 'gsm8k-test-0196', 'gsm8k-test-0197', 'gsm8k-test-0198', 'gsm8k-test-0199', 'gsm8k-test-0200', 'gsm8k-test-0201', 'gsm8k-test-0202', 'gsm8k-test-0203', 'gsm8k-test-0204', 'gsm8k-test-0205', 'gsm8k-test-0206', 'gsm8k-test-0207', 'gsm8k-test-0208', 'gsm8k-test-0209', 'gsm8k-test-0210', 'gsm8k-test-0211', 'gsm8k-test-0212', 'gsm8k-test-0213', 'gsm8k-test-0214', 'gsm8k-test-0215', 'gsm8k-test-0216', 'gsm8k-test-0217', 'gsm8k-test-0218', 'gsm8k-test-0219', 'gsm8k-test-0220', 'gsm8k-test-0221', 'gsm8k-test-0222', 'gsm8k-test-0223', 'gsm8k-test-0224', 'gsm8k-test-0225', 'gsm8k-test-0226', 'gsm8k-test-0227', 'gsm8k-test-0228', 'gsm8k-test-0229', 'gsm8k-test-0230', 'gsm8k-test-0231', 'gsm8k-test-0232', 'gsm8k-test-0233', 'gsm8k-test-0234', 'gsm8k-test-0235', 'gsm8k-test-0236', 'gsm8k-test-0237', 'gsm8k-test-0238', 'gsm8k-test-0239', 'gsm8k-test-0240', 'gsm8k-test-0241', 'gsm8k-test-0242', 'gsm8k-test-0243', 'gsm8k-test-0244', 'gsm8k-test-0245', 'gsm8k-test-0246', 'gsm8k-test-0247', 'gsm8k-test-0248', 'gsm8k-test-0249', 'gsm8k-test-0250', 'gsm8k-test-0251', 'gsm8k-test-0252', 'gsm8k-test-0253', 'gsm8k-test-0254', 'gsm8k-test-0255', 'gsm8k-test-0256', 'gsm8k-test-0257', 'gsm8k-test-0258', 'gsm8k-test-0259', 'gsm8k-test-0260', 'gsm8k-test-0261', 'gsm8k-test-0262', 'gsm8k-test-0263', 'gsm8k-test-0264', 'gsm8k-test-0265', 'gsm8k-test-0266', 'gsm8k-test-0267', 'gsm8k-test-0268', 'gsm8k-test-0269', 'gsm8k-test-0270', 'gsm8k-test-0271', 'gsm8k-test-0272', 'gsm8k-test-0273', 'gsm8k-test-0274', 'gsm8k-test-0275', 'gsm8k-test-0276', 'gsm8k-test-0277', 'gsm8k-test-0278', 'gsm8k-test-0279', 'gsm8k-test-0280', 'gsm8k-test-0281', 'gsm8k-test-0282', 'gsm8k-test-0283', 'gsm8k-test-0284', 'gsm8k-test-0285', 'gsm8k-test-0286', 'gsm8k-test-0287', 'gsm8k-test-0288', 'gsm8k-test-0289', 'gsm8k-test-0290', 'gsm8k-test-0291', 'gsm8k-test-0292', 'gsm8k-test-0293', 'gsm8k-test-0294', 'gsm8k-test-0295', 'gsm8k-test-0296', 'gsm8k-test-0297', 'gsm8k-test-0298', 'gsm8k-test-0299', 'gsm8k-test-0300', 'gsm8k-test-0301', 'gsm8k-test-0302', 'gsm8k-test-0303', 'gsm8k-test-0304', 'gsm8k-test-0305', 'gsm8k-test-0306', 'gsm8k-test-0307', 'gsm8k-test-0308', 'gsm8k-test-0309', 'gsm8k-test-0310', 'gsm8k-test-0311', 'gsm8k-test-0312', 'gsm8k-test-0313', 'gsm8k-test-0314', 'gsm8k-test-0315', 'gsm8k-test-0316', 'gsm8k-test-0317', 'gsm8k-test-0318', 'gsm8k-test-0319', 'gsm8k-test-0320', 'gsm8k-test-0321', 'gsm8k-test-0322', 'gsm8k-test-0323', 'gsm8k-test-0324', 'gsm8k-test-0325', 'gsm8k-test-0326', 'gsm8k-test-0327', 'gsm8k-test-0328', 'gsm8k-test-0329', 'gsm8k-test-0330', 'gsm8k-test-0331', 'gsm8k-test-0332', 'gsm8k-test-0333', 'gsm8k-test-0334', 'gsm8k-test-0335', 'gsm8k-test-0336', 'gsm8k-test-0337', 'gsm8k-test-0338', 'gsm8k-test-0339', 'gsm8k-test-0340', 'gsm8k-test-0341', 'gsm8k-test-0342', 'gsm8k-test-0343', 'gsm8k-test-0344', 'gsm8k-test-0345', 'gsm8k-test-0346', 'gsm8k-test-0347', 'gsm8k-test-0348', 'gsm8k-test-0349', 'gsm8k-test-0350', 'gsm8k-test-0351', 'gsm8k-test-0352', 'gsm8k-test-0353', 'gsm8k-test-0354', 'gsm8k-test-0355', 'gsm8k-test-0356', 'gsm8k-test-0357', 'gsm8k-test-0358', 'gsm8k-test-0359', 'gsm8k-test-0360', 'gsm8k-test-0361', 'gsm8k-test-0362', 'gsm8k-test-0363', 'gsm8k-test-0364', 'gsm8k-test-0365', 'gsm8k-test-0366', 'gsm8k-test-0367', 'gsm8k-test-0368', 'gsm8k-test-0369', 'gsm8k-test-0370', 'gsm8k-test-0371', 'gsm8k-test-0372', 'gsm8k-test-0373', 'gsm8k-test-0374', 'gsm8k-test-0375', 'gsm8k-test-0376', 'gsm8k-test-0377', 'gsm8k-test-0378', 'gsm8k-test-0379', 'gsm8k-test-0380', 'gsm8k-test-0381', 'gsm8k-test-0382', 'gsm8k-test-0383', 'gsm8k-test-0384', 'gsm8k-test-0385', 'gsm8k-test-0386', 'gsm8k-test-0387', 'gsm8k-test-0388', 'gsm8k-test-0389', 'gsm8k-test-0390', 'gsm8k-test-0391', 'gsm8k-test-0392', 'gsm8k-test-0393', 'gsm8k-test-0394', 'gsm8k-test-0395', 'gsm8k-test-0396', 'gsm8k-test-0397', 'gsm8k-test-0398', 'gsm8k-test-0399', 'gsm8k-test-0400', 'gsm8k-test-0401', 'gsm8k-test-0402', 'gsm8k-test-0403', 'gsm8k-test-0404', 'gsm8k-test-0405', 'gsm8k-test-0406', 'gsm8k-test-0407', 'gsm8k-test-0408', 'gsm8k-test-0409', 'gsm8k-test-0410', 'gsm8k-test-0411', 'gsm8k-test-0412', 'gsm8k-test-0413', 'gsm8k-test-0414', 'gsm8k-test-0415', 'gsm8k-test-0416', 'gsm8k-test-0417', 'gsm8k-test-0418', 'gsm8k-test-0419', 'gsm8k-test-0420', 'gsm8k-test-0421', 'gsm8k-test-0422', 'gsm8k-test-0423', 'gsm8k-test-0424', 'gsm8k-test-0425', 'gsm8k-test-0426', 'gsm8k-test-0427', 'gsm8k-test-0428', 'gsm8k-test-0429', 'gsm8k-test-0430', 'gsm8k-test-0431', 'gsm8k-test-0432', 'gsm8k-test-0433', 'gsm8k-test-0434', 'gsm8k-test-0435', 'gsm8k-test-0436', 'gsm8k-test-0437', 'gsm8k-test-0438', 'gsm8k-test-0439', 'gsm8k-test-0440', 'gsm8k-test-0441', 'gsm8k-test-0442', 'gsm8k-test-0443', 'gsm8k-test-0444', 'gsm8k-test-0445', 'gsm8k-test-0446', 'gsm8k-test-0447', 'gsm8k-test-0448', 'gsm8k-test-0449', 'gsm8k-test-0450', 'gsm8k-test-0451', 'gsm8k-test-0452', 'gsm8k-test-0453', 'gsm8k-test-0454', 'gsm8k-test-0455', 'gsm8k-test-0456', 'gsm8k-test-0457', 'gsm8k-test-0458', 'gsm8k-test-0459', 'gsm8k-test-0460', 'gsm8k-test-0461', 'gsm8k-test-0462', 'gsm8k-test-0463', 'gsm8k-test-0464', 'gsm8k-test-0465', 'gsm8k-test-0466', 'gsm8k-test-0467', 'gsm8k-test-0468', 'gsm8k-test-0469', 'gsm8k-test-0470', 'gsm8k-test-0471', 'gsm8k-test-0472', 'gsm8k-test-0473', 'gsm8k-test-0474', 'gsm8k-test-0475', 'gsm8k-test-0476', 'gsm8k-test-0477', 'gsm8k-test-0478', 'gsm8k-test-0479', 'gsm8k-test-0480', 'gsm8k-test-0481', 'gsm8k-test-0482', 'gsm8k-test-0483', 'gsm8k-test-0484', 'gsm8k-test-0485', 'gsm8k-test-0486', 'gsm8k-test-0487', 'gsm8k-test-0488', 'gsm8k-test-0489', 'gsm8k-test-0490', 'gsm8k-test-0491', 'gsm8k-test-0492', 'gsm8k-test-0493', 'gsm8k-test-0494', 'gsm8k-test-0495', 'gsm8k-test-0496', 'gsm8k-test-0497', 'gsm8k-test-0498', 'gsm8k-test-0499', 'gsm8k-test-0500', 'gsm8k-test-0501', 'gsm8k-test-0502', 'gsm8k-test-0503', 'gsm8k-test-0504', 'gsm8k-test-0505', 'gsm8k-test-0506', 'gsm8k-test-0507', 'gsm8k-test-0508', 'gsm8k-test-0509', 'gsm8k-test-0510', 'gsm8k-test-0511', 'gsm8k-test-0512', 'gsm8k-test-0513', 'gsm8k-test-0514', 'gsm8k-test-0515', 'gsm8k-test-0516', 'gsm8k-test-0517', 'gsm8k-test-0518', 'gsm8k-test-0519', 'gsm8k-test-0520', 'gsm8k-test-0521', 'gsm8k-test-0522', 'gsm8k-test-0523', 'gsm8k-test-0524', 'gsm8k-test-0525', 'gsm8k-test-0526', 'gsm8k-test-0527', 'gsm8k-test-0528', 'gsm8k-test-0529', 'gsm8k-test-0530', 'gsm8k-test-0531', 'gsm8k-test-0532', 'gsm8k-test-0533', 'gsm8k-test-0534', 'gsm8k-test-0535', 'gsm8k-test-0536', 'gsm8k-test-0537', 'gsm8k-test-0538', 'gsm8k-test-0539', 'gsm8k-test-0540', 'gsm8k-test-0541', 'gsm8k-test-0542', 'gsm8k-test-0543', 'gsm8k-test-0544', 'gsm8k-test-0545', 'gsm8k-test-0546', 'gsm8k-test-0547', 'gsm8k-test-0548', 'gsm8k-test-0549', 'gsm8k-test-0550', 'gsm8k-test-0551', 'gsm8k-test-0552', 'gsm8k-test-0553', 'gsm8k-test-0554', 'gsm8k-test-0555', 'gsm8k-test-0556', 'gsm8k-test-0557', 'gsm8k-test-0558', 'gsm8k-test-0559', 'gsm8k-test-0560', 'gsm8k-test-0561', 'gsm8k-test-0562', 'gsm8k-test-0563', 'gsm8k-test-0564', 'gsm8k-test-0565', 'gsm8k-test-0566', 'gsm8k-test-0567', 'gsm8k-test-0568', 'gsm8k-test-0569', 'gsm8k-test-0570', 'gsm8k-test-0571', 'gsm8k-test-0572', 'gsm8k-test-0573', 'gsm8k-test-0574', 'gsm8k-test-0575', 'gsm8k-test-0576', 'gsm8k-test-0577', 'gsm8k-test-0578', 'gsm8k-test-0579', 'gsm8k-test-0580', 'gsm8k-test-0581', 'gsm8k-test-0582', 'gsm8k-test-0583', 'gsm8k-test-0584', 'gsm8k-test-0585', 'gsm8k-test-0586', 'gsm8k-test-0587', 'gsm8k-test-0588', 'gsm8k-test-0589', 'gsm8k-test-0590', 'gsm8k-test-0591', 'gsm8k-test-0592', 'gsm8k-test-0593', 'gsm8k-test-0594', 'gsm8k-test-0595', 'gsm8k-test-0596', 'gsm8k-test-0597', 'gsm8k-test-0598', 'gsm8k-test-0599', 'gsm8k-test-0600', 'gsm8k-test-0601', 'gsm8k-test-0602', 'gsm8k-test-0603', 'gsm8k-test-0604', 'gsm8k-test-0605', 'gsm8k-test-0606', 'gsm8k-test-0607', 'gsm8k-test-0608', 'gsm8k-test-0609', 'gsm8k-test-0610', 'gsm8k-test-0611', 'gsm8k-test-0612', 'gsm8k-test-0613', 'gsm8k-test-0614', 'gsm8k-test-0615', 'gsm8k-test-0616', 'gsm8k-test-0617', 'gsm8k-test-0618', 'gsm8k-test-0619', 'gsm8k-test-0620', 'gsm8k-test-0621', 'gsm8k-test-0622', 'gsm8k-test-0623', 'gsm8k-test-0624', 'gsm8k-test-0625', 'gsm8k-test-0626', 'gsm8k-test-0627', 'gsm8k-test-0628', 'gsm8k-test-0629', 'gsm8k-test-0630', 'gsm8k-test-0631', 'gsm8k-test-0632', 'gsm8k-test-0633', 'gsm8k-test-0634', 'gsm8k-test-0635', 'gsm8k-test-0636', 'gsm8k-test-0637', 'gsm8k-test-0638', 'gsm8k-test-0639', 'gsm8k-test-0640', 'gsm8k-test-0641', 'gsm8k-test-0642', 'gsm8k-test-0643', 'gsm8k-test-0644', 'gsm8k-test-0645', 'gsm8k-test-0646', 'gsm8k-test-0647', 'gsm8k-test-0648', 'gsm8k-test-0649', 'gsm8k-test-0650', 'gsm8k-test-0651', 'gsm8k-test-0652', 'gsm8k-test-0653', 'gsm8k-test-0654', 'gsm8k-test-0655', 'gsm8k-test-0656', 'gsm8k-test-0657', 'gsm8k-test-0658', 'gsm8k-test-0659', 'gsm8k-test-0660', 'gsm8k-test-0661', 'gsm8k-test-0662', 'gsm8k-test-0663', 'gsm8k-test-0664', 'gsm8k-test-0665', 'gsm8k-test-0666', 'gsm8k-test-0667', 'gsm8k-test-0668', 'gsm8k-test-0669', 'gsm8k-test-0670', 'gsm8k-test-0671', 'gsm8k-test-0672', 'gsm8k-test-0673', 'gsm8k-test-0674', 'gsm8k-test-0675', 'gsm8k-test-0676', 'gsm8k-test-0677', 'gsm8k-test-0678', 'gsm8k-test-0679', 'gsm8k-test-0680', 'gsm8k-test-0681', 'gsm8k-test-0682', 'gsm8k-test-0683', 'gsm8k-test-0684', 'gsm8k-test-0685', 'gsm8k-test-0686', 'gsm8k-test-0687', 'gsm8k-test-0688', 'gsm8k-test-0689', 'gsm8k-test-0690', 'gsm8k-test-0691', 'gsm8k-test-0692', 'gsm8k-test-0693', 'gsm8k-test-0694', 'gsm8k-test-0695', 'gsm8k-test-0696', 'gsm8k-test-0697', 'gsm8k-test-0698', 'gsm8k-test-0699', 'gsm8k-test-0700', 'gsm8k-test-0701', 'gsm8k-test-0702', 'gsm8k-test-0703', 'gsm8k-test-0704', 'gsm8k-test-0705', 'gsm8k-test-0706', 'gsm8k-test-0707', 'gsm8k-test-0708', 'gsm8k-test-0709', 'gsm8k-test-0710', 'gsm8k-test-0711', 'gsm8k-test-0712', 'gsm8k-test-0713', 'gsm8k-test-0714', 'gsm8k-test-0715', 'gsm8k-test-0716', 'gsm8k-test-0717', 'gsm8k-test-0718', 'gsm8k-test-0719', 'gsm8k-test-0720', 'gsm8k-test-0721', 'gsm8k-test-0722', 'gsm8k-test-0723', 'gsm8k-test-0724', 'gsm8k-test-0725', 'gsm8k-test-0726', 'gsm8k-test-0727', 'gsm8k-test-0728', 'gsm8k-test-0729', 'gsm8k-test-0730', 'gsm8k-test-0731', 'gsm8k-test-0732', 'gsm8k-test-0733', 'gsm8k-test-0734', 'gsm8k-test-0735', 'gsm8k-test-0736', 'gsm8k-test-0737', 'gsm8k-test-0738', 'gsm8k-test-0739', 'gsm8k-test-0740', 'gsm8k-test-0741', 'gsm8k-test-0742', 'gsm8k-test-0743', 'gsm8k-test-0744', 'gsm8k-test-0745', 'gsm8k-test-0746', 'gsm8k-test-0747', 'gsm8k-test-0748', 'gsm8k-test-0749', 'gsm8k-test-0750', 'gsm8k-test-0751', 'gsm8k-test-0752', 'gsm8k-test-0753', 'gsm8k-test-0754', 'gsm8k-test-0755', 'gsm8k-test-0756', 'gsm8k-test-0757', 'gsm8k-test-0758', 'gsm8k-test-0759', 'gsm8k-test-0760', 'gsm8k-test-0761', 'gsm8k-test-0762', 'gsm8k-test-0763', 'gsm8k-test-0764', 'gsm8k-test-0765', 'gsm8k-test-0766', 'gsm8k-test-0767', 'gsm8k-test-0768', 'gsm8k-test-0769', 'gsm8k-test-0770', 'gsm8k-test-0771', 'gsm8k-test-0772', 'gsm8k-test-0773', 'gsm8k-test-0774', 'gsm8k-test-0775', 'gsm8k-test-0776', 'gsm8k-test-0777', 'gsm8k-test-0778', 'gsm8k-test-0779', 'gsm8k-test-0780', 'gsm8k-test-0781', 'gsm8k-test-0782', 'gsm8k-test-0783', 'gsm8k-test-0784', 'gsm8k-test-0785', 'gsm8k-test-0786', 'gsm8k-test-0787', 'gsm8k-test-0788', 'gsm8k-test-0789', 'gsm8k-test-0790', 'gsm8k-test-0791', 'gsm8k-test-0792', 'gsm8k-test-0793', 'gsm8k-test-0794', 'gsm8k-test-0795', 'gsm8k-test-0796', 'gsm8k-test-0797', 'gsm8k-test-0798', 'gsm8k-test-0799', 'gsm8k-test-0800', 'gsm8k-test-0801', 'gsm8k-test-0802', 'gsm8k-test-0803', 'gsm8k-test-0804', 'gsm8k-test-0805', 'gsm8k-test-0806', 'gsm8k-test-0807', 'gsm8k-test-0808', 'gsm8k-test-0809', 'gsm8k-test-0810', 'gsm8k-test-0811', 'gsm8k-test-0812', 'gsm8k-test-0813', 'gsm8k-test-0814', 'gsm8k-test-0815', 'gsm8k-test-0816', 'gsm8k-test-0817', 'gsm8k-test-0818', 'gsm8k-test-0819', 'gsm8k-test-0820', 'gsm8k-test-0821', 'gsm8k-test-0822', 'gsm8k-test-0823', 'gsm8k-test-0824', 'gsm8k-test-0825', 'gsm8k-test-0826', 'gsm8k-test-0827', 'gsm8k-test-0828', 'gsm8k-test-0829', 'gsm8k-test-0830', 'gsm8k-test-0831', 'gsm8k-test-0832', 'gsm8k-test-0833', 'gsm8k-test-0834', 'gsm8k-test-0835', 'gsm8k-test-0836', 'gsm8k-test-0837', 'gsm8k-test-0838', 'gsm8k-test-0839', 'gsm8k-test-0840', 'gsm8k-test-0841', 'gsm8k-test-0842', 'gsm8k-test-0843', 'gsm8k-test-0844', 'gsm8k-test-0845', 'gsm8k-test-0846', 'gsm8k-test-0847', 'gsm8k-test-0848', 'gsm8k-test-0849', 'gsm8k-test-0850', 'gsm8k-test-0851', 'gsm8k-test-0852', 'gsm8k-test-0853', 'gsm8k-test-0854', 'gsm8k-test-0855', 'gsm8k-test-0856', 'gsm8k-test-0857', 'gsm8k-test-0858', 'gsm8k-test-0859', 'gsm8k-test-0860', 'gsm8k-test-0861', 'gsm8k-test-0862', 'gsm8k-test-0863', 'gsm8k-test-0864', 'gsm8k-test-0865', 'gsm8k-test-0866', 'gsm8k-test-0867', 'gsm8k-test-0868', 'gsm8k-test-0869', 'gsm8k-test-0870', 'gsm8k-test-0871', 'gsm8k-test-0872', 'gsm8k-test-0873', 'gsm8k-test-0874', 'gsm8k-test-0875', 'gsm8k-test-0876', 'gsm8k-test-0877', 'gsm8k-test-0878', 'gsm8k-test-0879', 'gsm8k-test-0880', 'gsm8k-test-0881', 'gsm8k-test-0882', 'gsm8k-test-0883', 'gsm8k-test-0884', 'gsm8k-test-0885', 'gsm8k-test-0886', 'gsm8k-test-0887', 'gsm8k-test-0888', 'gsm8k-test-0889', 'gsm8k-test-0890', 'gsm8k-test-0891', 'gsm8k-test-0892', 'gsm8k-test-0893', 'gsm8k-test-0894', 'gsm8k-test-0895', 'gsm8k-test-0896', 'gsm8k-test-0897', 'gsm8k-test-0898', 'gsm8k-test-0899', 'gsm8k-test-0900', 'gsm8k-test-0901', 'gsm8k-test-0902', 'gsm8k-test-0903', 'gsm8k-test-0904', 'gsm8k-test-0905', 'gsm8k-test-0906', 'gsm8k-test-0907', 'gsm8k-test-0908', 'gsm8k-test-0909', 'gsm8k-test-0910', 'gsm8k-test-0911', 'gsm8k-test-0912', 'gsm8k-test-0913', 'gsm8k-test-0914', 'gsm8k-test-0915', 'gsm8k-test-0916', 'gsm8k-test-0917', 'gsm8k-test-0918', 'gsm8k-test-0919', 'gsm8k-test-0920', 'gsm8k-test-0921', 'gsm8k-test-0922', 'gsm8k-test-0923', 'gsm8k-test-0924', 'gsm8k-test-0925', 'gsm8k-test-0926', 'gsm8k-test-0927', 'gsm8k-test-0928', 'gsm8k-test-0929', 'gsm8k-test-0930', 'gsm8k-test-0931', 'gsm8k-test-0932', 'gsm8k-test-0933', 'gsm8k-test-0934', 'gsm8k-test-0935', 'gsm8k-test-0936', 'gsm8k-test-0937', 'gsm8k-test-0938', 'gsm8k-test-0939', 'gsm8k-test-0940', 'gsm8k-test-0941', 'gsm8k-test-0942', 'gsm8k-test-0943', 'gsm8k-test-0944', 'gsm8k-test-0945', 'gsm8k-test-0946', 'gsm8k-test-0947', 'gsm8k-test-0948', 'gsm8k-test-0949', 'gsm8k-test-0950', 'gsm8k-test-0951', 'gsm8k-test-0952', 'gsm8k-test-0953', 'gsm8k-test-0954', 'gsm8k-test-0955', 'gsm8k-test-0956', 'gsm8k-test-0957', 'gsm8k-test-0958', 'gsm8k-test-0959', 'gsm8k-test-0960', 'gsm8k-test-0961', 'gsm8k-test-0962', 'gsm8k-test-0963', 'gsm8k-test-0964', 'gsm8k-test-0965', 'gsm8k-test-0966', 'gsm8k-test-0967', 'gsm8k-test-0968', 'gsm8k-test-0969', 'gsm8k-test-0970', 'gsm8k-test-0971', 'gsm8k-test-0972', 'gsm8k-test-0973', 'gsm8k-test-0974', 'gsm8k-test-0975', 'gsm8k-test-0976', 'gsm8k-test-0977', 'gsm8k-test-0978', 'gsm8k-test-0979', 'gsm8k-test-0980', 'gsm8k-test-0981', 'gsm8k-test-0982', 'gsm8k-test-0983', 'gsm8k-test-0984', 'gsm8k-test-0985', 'gsm8k-test-0986', 'gsm8k-test-0987', 'gsm8k-test-0988', 'gsm8k-test-0989', 'gsm8k-test-0990', 'gsm8k-test-0991', 'gsm8k-test-0992', 'gsm8k-test-0993', 'gsm8k-test-0994', 'gsm8k-test-0995', 'gsm8k-test-0996', 'gsm8k-test-0997', 'gsm8k-test-0998', 'gsm8k-test-0999', 'gsm8k-test-1000', 'gsm8k-test-1001', 'gsm8k-test-1002', 'gsm8k-test-1003', 'gsm8k-test-1004', 'gsm8k-test-1005', 'gsm8k-test-1006', 'gsm8k-test-1007', 'gsm8k-test-1008', 'gsm8k-test-1009', 'gsm8k-test-1010', 'gsm8k-test-1011', 'gsm8k-test-1012', 'gsm8k-test-1013', 'gsm8k-test-1014', 'gsm8k-test-1015', 'gsm8k-test-1016', 'gsm8k-test-1017', 'gsm8k-test-1018', 'gsm8k-test-1019', 'gsm8k-test-1020', 'gsm8k-test-1021', 'gsm8k-test-1022', 'gsm8k-test-1023', 'gsm8k-test-1024', 'gsm8k-test-1025', 'gsm8k-test-1026', 'gsm8k-test-1027', 'gsm8k-test-1028', 'gsm8k-test-1029', 'gsm8k-test-1030', 'gsm8k-test-1031', 'gsm8k-test-1032', 'gsm8k-test-1033', 'gsm8k-test-1034', 'gsm8k-test-1035', 'gsm8k-test-1036', 'gsm8k-test-1037', 'gsm8k-test-1038', 'gsm8k-test-1039', 'gsm8k-test-1040', 'gsm8k-test-1041', 'gsm8k-test-1042', 'gsm8k-test-1043', 'gsm8k-test-1044', 'gsm8k-test-1045', 'gsm8k-test-1046', 'gsm8k-test-1047', 'gsm8k-test-1048', 'gsm8k-test-1049', 'gsm8k-test-1050', 'gsm8k-test-1051', 'gsm8k-test-1052', 'gsm8k-test-1053', 'gsm8k-test-1054', 'gsm8k-test-1055', 'gsm8k-test-1056', 'gsm8k-test-1057', 'gsm8k-test-1058', 'gsm8k-test-1059', 'gsm8k-test-1060', 'gsm8k-test-1061', 'gsm8k-test-1062', 'gsm8k-test-1063', 'gsm8k-test-1064', 'gsm8k-test-1065', 'gsm8k-test-1066', 'gsm8k-test-1067', 'gsm8k-test-1068', 'gsm8k-test-1069', 'gsm8k-test-1070', 'gsm8k-test-1071', 'gsm8k-test-1072', 'gsm8k-test-1073', 'gsm8k-test-1074', 'gsm8k-test-1075', 'gsm8k-test-1076', 'gsm8k-test-1077', 'gsm8k-test-1078', 'gsm8k-test-1079', 'gsm8k-test-1080', 'gsm8k-test-1081', 'gsm8k-test-1082', 'gsm8k-test-1083', 'gsm8k-test-1084', 'gsm8k-test-1085', 'gsm8k-test-1086', 'gsm8k-test-1087', 'gsm8k-test-1088', 'gsm8k-test-1089', 'gsm8k-test-1090', 'gsm8k-test-1091', 'gsm8k-test-1092', 'gsm8k-test-1093', 'gsm8k-test-1094', 'gsm8k-test-1095', 'gsm8k-test-1096', 'gsm8k-test-1097', 'gsm8k-test-1098', 'gsm8k-test-1099', 'gsm8k-test-1100', 'gsm8k-test-1101', 'gsm8k-test-1102', 'gsm8k-test-1103', 'gsm8k-test-1104', 'gsm8k-test-1105', 'gsm8k-test-1106', 'gsm8k-test-1107', 'gsm8k-test-1108', 'gsm8k-test-1109', 'gsm8k-test-1110', 'gsm8k-test-1111', 'gsm8k-test-1112', 'gsm8k-test-1113', 'gsm8k-test-1114', 'gsm8k-test-1115', 'gsm8k-test-1116', 'gsm8k-test-1117', 'gsm8k-test-1118', 'gsm8k-test-1119', 'gsm8k-test-1120', 'gsm8k-test-1121', 'gsm8k-test-1122', 'gsm8k-test-1123', 'gsm8k-test-1124', 'gsm8k-test-1125', 'gsm8k-test-1126', 'gsm8k-test-1127', 'gsm8k-test-1128', 'gsm8k-test-1129', 'gsm8k-test-1130', 'gsm8k-test-1131', 'gsm8k-test-1132', 'gsm8k-test-1133', 'gsm8k-test-1134', 'gsm8k-test-1135', 'gsm8k-test-1136', 'gsm8k-test-1137', 'gsm8k-test-1138', 'gsm8k-test-1139', 'gsm8k-test-1140', 'gsm8k-test-1141', 'gsm8k-test-1142', 'gsm8k-test-1143', 'gsm8k-test-1144', 'gsm8k-test-1145', 'gsm8k-test-1146', 'gsm8k-test-1147', 'gsm8k-test-1148', 'gsm8k-test-1149', 'gsm8k-test-1150', 'gsm8k-test-1151', 'gsm8k-test-1152', 'gsm8k-test-1153', 'gsm8k-test-1154', 'gsm8k-test-1155', 'gsm8k-test-1156', 'gsm8k-test-1157', 'gsm8k-test-1158', 'gsm8k-test-1159', 'gsm8k-test-1160', 'gsm8k-test-1161', 'gsm8k-test-1162', 'gsm8k-test-1163', 'gsm8k-test-1164', 'gsm8k-test-1165', 'gsm8k-test-1166', 'gsm8k-test-1167', 'gsm8k-test-1168', 'gsm8k-test-1169', 'gsm8k-test-1170', 'gsm8k-test-1171', 'gsm8k-test-1172', 'gsm8k-test-1173', 'gsm8k-test-1174', 'gsm8k-test-1175', 'gsm8k-test-1176', 'gsm8k-test-1177', 'gsm8k-test-1178', 'gsm8k-test-1179', 'gsm8k-test-1180', 'gsm8k-test-1181', 'gsm8k-test-1182', 'gsm8k-test-1183', 'gsm8k-test-1184', 'gsm8k-test-1185', 'gsm8k-test-1186', 'gsm8k-test-1187', 'gsm8k-test-1188', 'gsm8k-test-1189', 'gsm8k-test-1190', 'gsm8k-test-1191', 'gsm8k-test-1192', 'gsm8k-test-1193', 'gsm8k-test-1194', 'gsm8k-test-1195', 'gsm8k-test-1196', 'gsm8k-test-1197', 'gsm8k-test-1198', 'gsm8k-test-1199', 'gsm8k-test-1200', 'gsm8k-test-1201', 'gsm8k-test-1202', 'gsm8k-test-1203', 'gsm8k-test-1204', 'gsm8k-test-1205', 'gsm8k-test-1206', 'gsm8k-test-1207', 'gsm8k-test-1208', 'gsm8k-test-1209', 'gsm8k-test-1210', 'gsm8k-test-1211', 'gsm8k-test-1212', 'gsm8k-test-1213', 'gsm8k-test-1214', 'gsm8k-test-1215', 'gsm8k-test-1216', 'gsm8k-test-1217', 'gsm8k-test-1218', 'gsm8k-test-1219', 'gsm8k-test-1220', 'gsm8k-test-1221', 'gsm8k-test-1222', 'gsm8k-test-1223', 'gsm8k-test-1224', 'gsm8k-test-1225', 'gsm8k-test-1226', 'gsm8k-test-1227', 'gsm8k-test-1228', 'gsm8k-test-1229', 'gsm8k-test-1230', 'gsm8k-test-1231', 'gsm8k-test-1232', 'gsm8k-test-1233', 'gsm8k-test-1234', 'gsm8k-test-1235', 'gsm8k-test-1236', 'gsm8k-test-1237', 'gsm8k-test-1238', 'gsm8k-test-1239', 'gsm8k-test-1240', 'gsm8k-test-1241', 'gsm8k-test-1242', 'gsm8k-test-1243', 'gsm8k-test-1244', 'gsm8k-test-1245', 'gsm8k-test-1246', 'gsm8k-test-1247', 'gsm8k-test-1248', 'gsm8k-test-1249', 'gsm8k-test-1250', 'gsm8k-test-1251', 'gsm8k-test-1252', 'gsm8k-test-1253', 'gsm8k-test-1254', 'gsm8k-test-1255', 'gsm8k-test-1256', 'gsm8k-test-1257', 'gsm8k-test-1258', 'gsm8k-test-1259', 'gsm8k-test-1260', 'gsm8k-test-1261', 'gsm8k-test-1262', 'gsm8k-test-1263', 'gsm8k-test-1264', 'gsm8k-test-1265', 'gsm8k-test-1266', 'gsm8k-test-1267', 'gsm8k-test-1268', 'gsm8k-test-1269', 'gsm8k-test-1270', 'gsm8k-test-1271', 'gsm8k-test-1272', 'gsm8k-test-1273', 'gsm8k-test-1274', 'gsm8k-test-1275', 'gsm8k-test-1276', 'gsm8k-test-1277', 'gsm8k-test-1278', 'gsm8k-test-1279', 'gsm8k-test-1280', 'gsm8k-test-1281', 'gsm8k-test-1282', 'gsm8k-test-1283', 'gsm8k-test-1284', 'gsm8k-test-1285', 'gsm8k-test-1286', 'gsm8k-test-1287', 'gsm8k-test-1288', 'gsm8k-test-1289', 'gsm8k-test-1290', 'gsm8k-test-1291', 'gsm8k-test-1292', 'gsm8k-test-1293', 'gsm8k-test-1294', 'gsm8k-test-1295', 'gsm8k-test-1296', 'gsm8k-test-1297', 'gsm8k-test-1298', 'gsm8k-test-1299', 'gsm8k-test-1300', 'gsm8k-test-1301', 'gsm8k-test-1302', 'gsm8k-test-1303', 'gsm8k-test-1304', 'gsm8k-test-1305', 'gsm8k-test-1306', 'gsm8k-test-1307', 'gsm8k-test-1308', 'gsm8k-test-1309', 'gsm8k-test-1310', 'gsm8k-test-1311', 'gsm8k-test-1312', 'gsm8k-test-1313', 'gsm8k-test-1314', 'gsm8k-test-1315', 'gsm8k-test-1316', 'gsm8k-test-1317', 'gsm8k-test-1318'], 'manifest_ref': 'evaluation-items.jsonl', 'manifest_sha256': '2605906367ae053a2354385b46f40b34ddbbeecb37fdec2e495b74c0dffae619', 'dataset': 'openai/gsm8k', 'config': 'main', 'split': 'test', 'order': 'original dataset order'}}}, 'scores': [{'items': 1319, 'correct': 941, 'accuracy': 0.7134192570128886, 'arm': 'grpo_gs8', 'metric': 'accuracy', 'seed': 0, 'evaluator_id': '5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70', 'checkpoint': 'tinker://4a41c84719dfa5985f5ce122cf586538/weights/rx-full-grpo_gs8-final', 'predictions_ref': 'predictions-grpo_gs8.jsonl', 'seconds': 32.78277725199996, 'value': 0.7134192570128886}, {'items': 1319, 'correct': 984, 'accuracy': 0.7460197119029568, 'arm': 'gs1_kernel', 'metric': 'accuracy', 'seed': 0, 'evaluator_id': '5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70', 'checkpoint': 'tinker://82134dc5c7344adfe7534612673e9353/weights/rx-full-gs1_kernel-final', 'predictions_ref': 'predictions-gs1_kernel.jsonl', 'seconds': 33.005192892000196, 'value': 0.7460197119029568}, {'arm': 'base', 'metric': 'accuracy', 'value': 0.7058377558756633, 'evaluator_id': '5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70', 'seed': 0, 'predictions_ref': 'predictions-base.jsonl'}], 'comparisons': [{'metric': 'accuracy', 'arms': ['grpo_gs8', 'gs1_kernel']}]}
evaluator_validation
{'status': 'comparable', 'issues': [], 'comparisons': [{'metric': 'accuracy', 'status': 'comparable', 'arms': ['base', 'grpo_gs8', 'gs1_kernel'], 'evaluator_ids': ['5ce61cac464d6d7739964d336937b9a4de9d9b6a48b9905f59a0d978824a1d70'], 'missing_arms': []}]}
feasibility
{'status': 'unknown', 'problems': ['Re-projection required: lora_rank changed or was not recorded', 'Re-projection required: dataset changed or was not recorded', 'Re-projection required: steps changed or was not recorded', 'Re-projection required: max_seq_len changed or was not recorded', 'Re-projection required: n_examples changed or was not recorded', 'Re-projection required: n_eval changed or was not recorded'], 'wall_seconds': None, 'gpu_hours': None, 'known_gpu_hours': 0, 'phases': {'setup': {'wall_seconds': 288.0, 'planned_units': 1, 'planned_samples': 0.0, 'gpu_hours': None}, 'training': {'wall_seconds': 3136.5, 'planned_units': 85, 'planned_samples': 5440.0, 'gpu_hours': None}, 'evaluation': {'wall_seconds': 578.4000000000001, 'planned_units': 3957, 'planned_samples': 3957.0, 'gpu_hours': None}, 'recovery': {'wall_seconds': 1800, 'gpu_hours': None}}, 'generation_counts': None, 'generation_applicability': {'check': 'generation_audit', 'status': 'not_applicable', 'enforce': False, 'reasons': ['spec.generation_audit opts out and no feature it covers is true'], 'features': {'generated_training_data': False}}, 'record': {'config': {'base_model': 'Qwen/Qwen3.5-2B', 'arms': ['grpo_gs8', 'gs1_kernel'], 'pilot_steps': {'grpo_gs8': 1, 'gs1_kernel_bw0.5': 2, 'gs1_kernel_bw1.0': 2}, 'batch_size': 64, 'max_tokens': 512, 'n_eval_timed': 1319}, 'effective_config': {'base_model': 'Qwen/Qwen3.5-2B', 'arms': ['grpo_gs8', 'gs1_kernel'], 'steps': 40, 'batch_size': 64, 'max_tokens': 512, 'max_seq_len': 1024, 'n_eval': 1319, 'gs1_bandwidth': 1.0}, 'primary_endpoint': 'gsm8k_test_exact_match_accuracy_final_checkpoint', 'source': 'activation-pilot-*.json, timings-a.json, timings-b.json, base/timings.json; observed full driver wall 1515 s (full/timings.json)', 'measurements': {'setup': {'seconds': 288.0, 'units': 1, 'planned_units': 1, 'samples': 0, 'gpu_count': None, 'allocation_source': None}, 'training': {'seconds': 184.5, 'units': 5, 'planned_units': 85, 'samples': 320, 'gpu_count': None, 'allocation_source': None}, 'evaluation': {'seconds': 192.8, 'units': 1319, 'planned_units': 3957, 'samples': 1319, 'gpu_count': None, 'allocation_source': None}}, 'generation': None, 'recovery': {'seconds': 1800, 'gpu_count': None, 'allocation_source': None}}, 'recorded_at': 1793813824.596528}
feasibility_reported_verdict
refuted
feasibility_required
True
generation_audit_validation
{'status': 'not_applicable', 'reasons': ['spec.generation_audit opts out and no feature it covers is true'], 'applicability': {'check': 'generation_audit', 'status': 'not_applicable', 'enforce': False, 'reasons': ['spec.generation_audit opts out and no feature it covers is true'], 'features': {'generated_training_data': False}}}
initialization_provenance
{'version': 1, 'arms': [{'name': 'grpo_gs8', 'restore_count': 1, 'optimizer_checks': [{'after_restore': 0, 'source': 'declared', 'actual': None, 'actual_config': None, 'requested': 'adamw', 'requested_config': {'lr': 4e-05, 'beta1': 0.9, 'beta2': 0.95, 'eps': 1e-08}, 'before_next_update': True, 'reason': 'Shared Spindle accepts adam_params; no concrete active optimizer/config response.'}, {'after_restore': 1, 'source': 'declared', 'actual': None, 'actual_config': None, 'requested': 'adamw', 'requested_config': {'lr': 4e-05, 'beta1': 0.9, 'beta2': 0.95, 'eps': 1e-08}, 'before_next_update': True, 'reason': 'Shared Spindle accepts adam_params; no concrete active optimizer/config response.'}], 'restores': [{'requested': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'with_optimizer': False, 'response': {'path': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'type': 'load_weights'}, 'checkpoint_step': 0}], 'initialization': {'base_checkpoint': 'Qwen/Qwen3.5-2B', 'checkpoint_uri': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'loaded_checkpoint_uri': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'load_succeeded': True, 'checkpoint_immutable': True, 'checkpoint_scope': 'full_initialization', 'source': 'server_response', 'evidence_ref': 'full/grpo_gs8/initialization.json', 'before_first_update': True}, 'initial_output': {'available': True, 'batch_sha256': '596b067ddecbb2799e6e69355b760f731ca9190aa54da8d4ebe58513cbd641c0', 'output_sha256': '1aac3a4e6b860c2c3fc749f257e9e107176d10aa1c51bd7fd8aca6e0eed4a1b0', 'before_first_update': True, 'evidence_ref': 'full/grpo_gs8/initial-forward.json'}}, {'name': 'gs1_kernel', 'restore_count': 1, 'optimizer_checks': [{'after_restore': 0, 'source': 'declared', 'actual': None, 'actual_config': None, 'requested': 'adamw', 'requested_config': {'lr': 4e-05, 'beta1': 0.9, 'beta2': 0.95, 'eps': 1e-08}, 'before_next_update': True, 'reason': 'Shared Spindle accepts adam_params; no concrete active optimizer/config response.'}, {'after_restore': 1, 'source': 'declared', 'actual': None, 'actual_config': None, 'requested': 'adamw', 'requested_config': {'lr': 4e-05, 'beta1': 0.9, 'beta2': 0.95, 'eps': 1e-08}, 'before_next_update': True, 'reason': 'Shared Spindle accepts adam_params; no concrete active optimizer/config response.'}], 'restores': [{'requested': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'with_optimizer': False, 'response': {'path': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'type': 'load_weights'}, 'checkpoint_step': 0}], 'initialization': {'base_checkpoint': 'Qwen/Qwen3.5-2B', 'checkpoint_uri': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'loaded_checkpoint_uri': 'tinker://337d1e6ad746cc57412bd1332d4d628b/weights/rx-gs1-init-run_bf5c66cfd2', 'load_succeeded': True, 'checkpoint_immutable': True, 'checkpoint_scope': 'full_initialization', 'source': 'server_response', 'evidence_ref': 'full/gs1_kernel/initialization.json', 'before_first_update': True}, 'initial_output': {'available': True, 'batch_sha256': '596b067ddecbb2799e6e69355b760f731ca9190aa54da8d4ebe58513cbd641c0', 'output_sha256': '1aac3a4e6b860c2c3fc749f257e9e107176d10aa1c51bd7fd8aca6e0eed4a1b0', 'before_first_update': True, 'evidence_ref': 'full/gs1_kernel/initial-forward.json'}}]}
launch
{'experiment_id': 'exp_32150a771c', 'context_status': 'snapshotted', 'superseded': False, 'mode': 'ordinary', 'purpose': 'Execute the selected saved experiment version.'}
launch_instructions
{'name': 'launch-instructions-e43e9a9f1332.md', 'sha256': 'e43e9a9f1332e586e71ab0a706e66398b66b7a7ccf61f96981b22092502a66f5', 'url': 'https://rx.modal.dev/api/runs/run_bf5c66cfd2/evidence/e43e9a9f1332e586e71ab0a706e66398b66b7a7ccf61f96981b22092502a66f5'}
reported_verdict
refuted
restoration_validation
{'status': 'unverified', 'required': True, 'checks': [{'check': 'grpo_gs8.initialization', 'status': 'passed', 'reason': 'grpo_gs8: observed initial state identity recorded.'}, {'check': 'grpo_gs8.optimizer.0', 'status': 'unverified', 'reason': 'grpo_gs8: active optimizer after restore 0 is unverified; a client declaration is insufficient.'}, {'check': 'grpo_gs8.optimizer.1', 'status': 'unverified', 'reason': 'grpo_gs8: active optimizer after restore 1 is unverified; a client declaration is insufficient.'}, {'check': 'grpo_gs8.output', 'status': 'passed', 'reason': 'grpo_gs8: fixed-batch full-output fingerprint recorded.'}, {'check': 'gs1_kernel.initialization', 'status': 'passed', 'reason': 'gs1_kernel: observed initial state identity recorded.'}, {'check': 'gs1_kernel.optimizer.0', 'status': 'unverified', 'reason': 'gs1_kernel: active optimizer after restore 0 is unverified; a client declaration is insufficient.'}, {'check': 'gs1_kernel.optimizer.1', 'status': 'unverified', 'reason': 'gs1_kernel: active optimizer after restore 1 is unverified; a client declaration is insufficient.'}, {'check': 'gs1_kernel.output', 'status': 'passed', 'reason': 'gs1_kernel: fixed-batch full-output fingerprint recorded.'}], 'reason': 'grpo_gs8: active optimizer after restore 0 is unverified; a client declaration is insufficient.', 'applicability': 'required'}
slack_started
True
verdict_report
{'effect': 0.03260045489006824, 'margin': -0.03, 'lower': -0.042188907691052054, 'upper': 0.10738981747118852, 'seeds': 1, 'confidence': 'weak', 'reasoning': 'GS1 scored 3.3 points above GRPO (984 vs 941 of 1319 paired items), but the paired 95% Hoeffding lower bound (-0.0422) is below the -0.03 margin, so the success criterion is not met and, per the protocol, the verdict is refuted (the exchange decision rule returns uncertain/insufficient_evidence). Confidence is weak: one seed and a wide Hoeffding interval (half-width ~0.075 at n=1319, so the 3-point margin is barely reachable), GS1 bandwidth 1.0 came from the pre-registered calibration after 0.5 failed the neighbor gate (7.97 < 8), the active optimizer is declared Adam (shared Spindle accepts only adam_params) but not server-verified, and shared Spindle rejects per-model seed=0 so matched init used one saved checkpoint (identical initial logprobs). The prior identical-spec run (run_5207121d26) measured -0.016 with GRPO at 0.781; here GRPO finished at 0.713, so the run-to-run variance of a single seed is comparable to the margin.'}
Agent trace full trace with commands in Devin ↗
Details
run
run_bf5c66cfd2
backend
Devin
session
devin-095df9604fd44352bd9a8cfbc85ca64c
experiment
exp_32150a771c
created
Nov 4, 16:56 UTC
started
Nov 4, 16:56 UTC
finished
Nov 4, 17:37 UTC
duration
40m 21s
GPU-h budget
2.0
wall budget
120 min
base model
Qwen/Qwen3.5-2B
training
RL
dataset
gsm8k
result
final
outcome reason
insufficient evidence
Other runs of this idea

Submit an idea

Most ideas come in from Slack threads. Use this when yours is not in one yet; the triage agent picks it up.