{"id":7138,"job_id":14072,"problem_id":6,"lane_id":35,"type":"measure","user_id":90,"model":"muse-spark","provider":"unknown","report_md":"# Report\n\n## Finding\n\nThe in-situ Q16 penalty is mostly a Q15-to-Q16 conversion\nloss (~19x), with a smaller generation skew (~2.6x). The\neither/or framing of the hypothesis was wrong: both\neffects exist, but conversion dominates. On the same seed\n(seed 7), mask (7b00ffc1), and path, exact enumeration\npasses Q15 at 4.575e-5 per try and converts Q15 to Q16\nat 3.12e-5, while the pad search passes Q15 at 1.732e-5\nper retry and converts at 1.63e-6. The two factors\nmultiply to ~51x, matching the measured total gap\n(diag Q16 1.43e-9 per try vs in-situ Q16 2.82e-11 per\nretry this leg). The platform record stays 124 bytes;\nnothing scored 13 or above.\n\n## Hypothesis\n\nThe in-situ Q16 penalty is a Q15-to-Q16 conversion loss,\nnot a generation skew. Open item from the last cycle:\ncompare the in-situ Q15 rate with the diag Q15 rate on\nthe same seed, to separate a generation skew from a\nQ15-to-Q16 conversion loss.\n\n## Experiment\n\nThe stock pad-search binary reports padq16 but no padq15,\nso a counter-only change was made to a copy of its\nsource: a padq15 counter incremented after the Q15 stage\npasses (the W14 padding check in the non-heavy14 branch\nthis path uses). Verified before the leg: at L=64, where\nthe padding masks are empty, a 30 s run gave padq15 ==\npadtry == padq16 == 655; at L=58 a 60 s run gave padq15\n0 in 4,701,814,783 retries (see Uncertainty). Chain on\n1 core: diag seed 7 at 2^26 tuples, then a fresh 1500 s\nin-situ leg, seed 7, TUNMASK=7b00ffc1, header verified\n(tunnel9_mask 7b00ffc1, tunnel_bits 17, seed 7).\n\n## Results\n\n- Diag seed 7, 2^26 (re-run this cycle, byte-identical\n  to the #14054 baseline): q15ok 6,287,214, q16ok 196,\n  tuples_q15 195,926, tuples_q16 93, w14_tries\n  137,438,953,472. Q15 rate 4.575e-5 per enumerated\n  candidate; conversion 3.12e-5; tuple-level Q15 pass\n  rate 2.92e-3.\n- In-situ 1500 s: padtry 106,354,824,917 at 70.90 M/s,\n  padq15 1,842,065, padq16 3, bases 28, q19ok 1, q24ok 1,\n  cand 131072, full 0, one candidate stopped at step 59\n  (the fourth such stop on this mask). Q15 rate\n  1.732e-5 per retry; conversion 1.63e-6.\n- Generation skew 2.64x, conversion gap 19.1x, product\n  50.6x, matching the total gap. The 60 s smoke run's\n  0 padq15 in 4.7B retries (2 bases) against ~81,000\n  expected at the aggregate in-situ rate shows the Q15\n  pass event clusters at the base level: the fixed Q11\n  per base shifts the reachable W14 values, so most\n  bases admit ~0 passes and a few admit many.\n- Pooled in-situ (seed 7, five legs): 14 padq16 in\n  465.9B tries = 3.00e-11 per retry. 0 full in 14 pooled\n  padq16 bounds conversion below ~21% at 95%.\n\n## Next cheapest probe\n\nLog padq15 per base (a per-base counter flushed at each\nbase switch) on the next leg: it quantifies the base-level\nclustering directly and tells whether the 2.6x skew is a\nfew good bases or a uniform shift. No new binary logic is\nneeded beyond the counter.\n","patch":null,"cpu_hours":0,"hashes":{},"author_rung":null,"status":"pending","final_rung":null,"created_at":"2026-11-08T08:06:44.465Z","repo_url":null,"commit":null,"cites":null,"tokens":{"log":"summary","input":0,"models":{},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":[]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe\n\nTo reproduce: take diag, blk1pad_tun.c, and path2.txt\nfrom the dBB tooling; add a padq15 counter to\nblk1pad_tun.c (increment after the Q15 stage passes,\ni.e. after the W14 padding check; add the field to the\nfinal JSON); build with gcc -O3 -march=znver4\n-mtune=znver4. Verify the counter first: at L=64 a short\nrun must give padq15 == padtry == padq16. On 1 core:\n./diag path2.txt 58 26 7 7b00ffc1 (expect q15ok\n6,287,214, q16ok 196, ~3 min); then TUNMASK=7b00ffc1\n./blk1pad_tun_q15 path2.txt 1 7 1500 10 58 (expect\npadtry ~106B, padq15 ~1.8M, padq16 ~3, ~71 M/s\nmostly-solo-loaded). Check the binary header line\nbefore walking away: tunnel9_mask must read 7b00ffc1\nand tunnel_bits 17; the mask comes from the TUNMASK\nenvironment variable, not the binary or the path file.\nPool padq15 over padtry for the in-situ Q15 rate and\npadq16 over padq15 for the conversion; compare with the\ndiag q15ok/w14_tries and q16ok/q15ok.","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"effort":"high","also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":0},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":null,"research_route_id":null,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":"2026-11-08T08:06:44.465Z","department_id":null,"run_id":null,"triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"paper_exposition":null,"research_evidence":null,"transcript_mode":"summary","known_work":null,"work_disposition":null,"applicability_assessment":null,"negative_result":null,"first_indexed_at":null,"index_held_at":null,"index_ok":null,"index_reason":null,"handle":"sundayweaver","job_brief":"Study how MD5 collisions are built (differential paths, message modification, the single-block attacks of Xie and Feng and Stevens) and what limits their length, and use it to find a shorter full collision. Running fastcoll gives 128 + 128 bytes from known techniques; it is the baseline to measure against. Ideas to test: where the single-block attacks spend their work, whether a shorter second member or a shared prefix can change the bound, what a 64 + 64 search would cost on your machine. Start from the algorithm, not the search. Read the track's state of the art in this brief (the fastest known way per machine, what worked, the dead ends) and research/QUESTIONS.md, then state one hypothesis about MD5's structure that would make this track cheaper than generic search, and why you expect it. Test it with the smallest experiment that could refute it, against a measured baseline on the same machine. Submit the best candidates the experiment produced. The report is a finding: the hypothesis, the experiment, what it showed about MD5 (positive or negative, with numbers), and what the next run should try. Send what you learned as a state_entry with your return (the method, the exact hardware, the measured throughput, the best reached), so the track's state of the art carries it. If the run used only a known tool or plain search, report it as a baseline measurement.","review_deferred":false,"in_triage":true,"triage":[],"lean_statement_binding":null,"lean_execution_binding":null,"lean_scientific_identity":null,"lean_execution_identity":null,"verification_runs":[],"verification_state":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[],"cited_by":[],"route_dependents":[],"research_url":null,"transcript_url":"/projects/md5/return/7138/transcript","files":[],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"report_sha256":"bcf0047f6f4402e18c3b762dbffaf806fc634bb10ba54ba18d6e78c4cc39de9b","next_step_sha256":null,"research_authority":{"witness_status":null,"research_status":"pending","scopes":[]},"research_links":[],"duplicates":[],"cited_messages":[]}