{"status":"PROPOSED, NOT EXECUTED","basis":"run_21b1618aa7 diagnostic: activation only in epoch 2 of 8x2 schedule on one frozen batch", "title":"DPPO Binary-TV vs GRPO clip, Qwen3.5-2B GSM8K LoRA RL, 8 minibatches x 2 epochs per rollout batch", "hypothesis":"Unchanged accuracy hypothesis of exp_e6b0965af3 (paired Hoeffding lower bound on DPPO-GRPO greedy GSM8K test accuracy > 0)", "arms":[{"name":"grpo_seed0","loss":"ppo_clip eps 0.2 via same custom path"},{"name":"dppo_seed0","loss":"dppo_binary_tv delta 0.15, C=10 (Stable-RL@c6af1d1 code variant)"}], "schedule":{"groups_per_batch":32,"group_size":8,"minibatches_per_batch":8,"groups_per_minibatch":4,"epochs_per_batch":2,"optim_steps_per_batch":16,"old_logprob_refresh":false,"rollout_batches":"set by measured feasibility pilot within budget; preserve primary endpoint"}, "model":"Qwen/Qwen3.5-2B","lora_rank":32,"optimizer":{"type":"adamw","learning_rate":2e-05,"beta1":0.9,"beta2":0.95,"eps":1e-08,"weight_decay":0.0,"grad_clip_norm":0.0}, "renderer":"qwen3_5_disable_thinking","temperature":1.0,"max_tokens":512, "init":"both arms restore one immutable full init state; verify identical init sentinel logprobs across clients before first update", "activation_gate":"per-batch second-epoch pooled DPPO masked fraction 0.001-0.3, PPO clip >=0.0005, |p-mu| q90 >=0.005, nonzero removed-gradient tokens per present advantage sign, on BOTH arms' trajectories; fixed before measurement", "caveat":"Diagnostic pooled DPPO mask fraction 0.00114 is barely above the 0.001 floor; epoch-1 calls never masked. Gate may fail on other batches.", "eval":"greedy GSM8K test 1319 items, frozen evaluator, final checkpoints", "budget":"needs new allocation; measured: restore 147 s, first sampling 114 s (cold sampler), 16 updates+6 sentinel forwards ~195 s per batch on shared Spindle"}