Fix credo quote-sigil warning in microprints_live_test.exs
Replace double-quoted string with escaped quotes in element selector with a ~s sigil to satisfy Credo's 'More than 3 quotes found inside string literal' readability check. Includes formatting changes from mix format (ran via make check).
This commit is contained in:
parent
a9e746d520
commit
a4bca75946
@ -69,3 +69,21 @@
|
|||||||
{"timestamp":"2026-05-18T17:03:32.883Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":4,"inputTokens":728,"outputTokens":1603,"totalTokens":2331,"prefillTokensPerSec":477.69,"generationTokensPerSec":49.97,"combinedTokensPerSec":69.36,"totalDurationMs":33605,"timeToFirstTokenMs":1524,"rawTimestamps":{"ttftMs":1524,"allTtftMs":[1524],"generationDurationMs":32081.000000000004,"turns":[{"turnId":"turn-0","durationMs":3655},{"turnId":"turn-1","durationMs":17547},{"turnId":"turn-2","durationMs":8416},{"turnId":"turn-3","durationMs":3987,"ttftMs":1524}]}}
|
{"timestamp":"2026-05-18T17:03:32.883Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":4,"inputTokens":728,"outputTokens":1603,"totalTokens":2331,"prefillTokensPerSec":477.69,"generationTokensPerSec":49.97,"combinedTokensPerSec":69.36,"totalDurationMs":33605,"timeToFirstTokenMs":1524,"rawTimestamps":{"ttftMs":1524,"allTtftMs":[1524],"generationDurationMs":32081.000000000004,"turns":[{"turnId":"turn-0","durationMs":3655},{"turnId":"turn-1","durationMs":17547},{"turnId":"turn-2","durationMs":8416},{"turnId":"turn-3","durationMs":3987,"ttftMs":1524}]}}
|
||||||
{"timestamp":"2026-05-18T17:04:51.598Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":2,"inputTokens":91,"outputTokens":302,"totalTokens":393,"prefillTokensPerSec":120.69,"generationTokensPerSec":42.08,"combinedTokensPerSec":49.56,"totalDurationMs":7930,"timeToFirstTokenMs":754,"rawTimestamps":{"ttftMs":754,"allTtftMs":[754],"generationDurationMs":7176,"turns":[{"turnId":"turn-0","durationMs":5537},{"turnId":"turn-1","durationMs":2393,"ttftMs":754}]}}
|
{"timestamp":"2026-05-18T17:04:51.598Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":2,"inputTokens":91,"outputTokens":302,"totalTokens":393,"prefillTokensPerSec":120.69,"generationTokensPerSec":42.08,"combinedTokensPerSec":49.56,"totalDurationMs":7930,"timeToFirstTokenMs":754,"rawTimestamps":{"ttftMs":754,"allTtftMs":[754],"generationDurationMs":7176,"turns":[{"turnId":"turn-0","durationMs":5537},{"turnId":"turn-1","durationMs":2393,"ttftMs":754}]}}
|
||||||
{"timestamp":"2026-05-18T17:06:35.090Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":5,"inputTokens":595,"outputTokens":991,"totalTokens":1586,"prefillTokensPerSec":107.67,"generationTokensPerSec":50.99,"combinedTokensPerSec":63.53,"totalDurationMs":24963,"timeToFirstTokenMs":5526,"rawTimestamps":{"ttftMs":5526,"allTtftMs":[5526],"generationDurationMs":19437,"turns":[{"turnId":"turn-0","durationMs":2342},{"turnId":"turn-1","durationMs":8629},{"turnId":"turn-2","durationMs":3748},{"turnId":"turn-3","durationMs":1905},{"turnId":"turn-4","durationMs":8339,"ttftMs":5526}]}}
|
{"timestamp":"2026-05-18T17:06:35.090Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":5,"inputTokens":595,"outputTokens":991,"totalTokens":1586,"prefillTokensPerSec":107.67,"generationTokensPerSec":50.99,"combinedTokensPerSec":63.53,"totalDurationMs":24963,"timeToFirstTokenMs":5526,"rawTimestamps":{"ttftMs":5526,"allTtftMs":[5526],"generationDurationMs":19437,"turns":[{"turnId":"turn-0","durationMs":2342},{"turnId":"turn-1","durationMs":8629},{"turnId":"turn-2","durationMs":3748},{"turnId":"turn-3","durationMs":1905},{"turnId":"turn-4","durationMs":8339,"ttftMs":5526}]}}
|
||||||
|
{"timestamp":"2026-05-18T17:09:58.845Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":9,"inputTokens":2111,"outputTokens":3124,"totalTokens":5235,"prefillTokensPerSec":316.73,"generationTokensPerSec":38.79,"combinedTokensPerSec":60.03,"totalDurationMs":87211,"timeToFirstTokenMs":6665,"rawTimestamps":{"ttftMs":6665,"allTtftMs":[6665,8492,4911,5143,2588,740],"generationDurationMs":80546,"turns":[{"turnId":"turn-0","durationMs":9004,"ttftMs":6665},{"turnId":"turn-1","durationMs":21348,"ttftMs":8492},{"turnId":"turn-2","durationMs":8350},{"turnId":"turn-3","durationMs":10895,"ttftMs":4911},{"turnId":"turn-4","durationMs":8784},{"turnId":"turn-5","durationMs":11053,"ttftMs":5143},{"turnId":"turn-6","durationMs":8565},{"turnId":"turn-7","durationMs":7853,"ttftMs":2588},{"turnId":"turn-8","durationMs":1359,"ttftMs":740}]}}
|
||||||
|
{"timestamp":"2026-05-18T17:13:46.526Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":3,"inputTokens":5057,"outputTokens":641,"totalTokens":5698,"prefillTokensPerSec":2095.73,"generationTokensPerSec":32.47,"combinedTokensPerSec":257.16,"totalDurationMs":22157,"timeToFirstTokenMs":2413,"rawTimestamps":{"ttftMs":2413,"allTtftMs":[2413,4376],"generationDurationMs":19744,"turns":[{"turnId":"turn-0","durationMs":7565},{"turnId":"turn-1","durationMs":4846,"ttftMs":2413},{"turnId":"turn-2","durationMs":9746,"ttftMs":4376}]}}
|
||||||
|
{"timestamp":"2026-05-18T17:15:51.225Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":10,"inputTokens":4304,"outputTokens":1913,"totalTokens":6217,"prefillTokensPerSec":435.67,"generationTokensPerSec":57.84,"combinedTokensPerSec":144.73,"totalDurationMs":42955,"timeToFirstTokenMs":9879,"rawTimestamps":{"ttftMs":9879,"allTtftMs":[9879,3442,2613,3964,856],"generationDurationMs":33076,"turns":[{"turnId":"turn-0","durationMs":3346},{"turnId":"turn-1","durationMs":11767,"ttftMs":9879},{"turnId":"turn-2","durationMs":5287,"ttftMs":3442},{"turnId":"turn-3","durationMs":3421},{"turnId":"turn-4","durationMs":4258,"ttftMs":2613},{"turnId":"turn-5","durationMs":2424},{"turnId":"turn-6","durationMs":6178,"ttftMs":3964},{"turnId":"turn-7","durationMs":1727},{"turnId":"turn-8","durationMs":2407},{"turnId":"turn-9","durationMs":2140,"ttftMs":856}]}}
|
||||||
|
{"timestamp":"2026-05-18T17:26:11.786Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":34,"inputTokens":43395,"outputTokens":12858,"totalTokens":56253,"prefillTokensPerSec":1200.32,"generationTokensPerSec":25.66,"combinedTokensPerSec":104.72,"totalDurationMs":537177,"timeToFirstTokenMs":36153,"rawTimestamps":{"ttftMs":36153,"allTtftMs":[36153,2689,1366,4236,6406,5356,790,1651,13306,66825,29393,119886,40627,5585,1105,2249],"generationDurationMs":501024,"turns":[{"turnId":"turn-0","durationMs":37128,"ttftMs":36153},{"turnId":"turn-1","durationMs":16635,"ttftMs":2689},{"turnId":"turn-2","durationMs":4975,"ttftMs":1366},{"turnId":"turn-3","durationMs":3817},{"turnId":"turn-4","durationMs":9210,"ttftMs":4236},{"turnId":"turn-5","durationMs":4367},{"turnId":"turn-6","durationMs":6681},{"turnId":"turn-7","durationMs":9766,"ttftMs":6406},{"turnId":"turn-8","durationMs":7955},{"turnId":"turn-9","durationMs":8770,"ttftMs":5356},{"turnId":"turn-10","durationMs":1848},{"turnId":"turn-11","durationMs":2371},{"turnId":"turn-12","durationMs":2166},{"turnId":"turn-13","durationMs":3484},{"turnId":"turn-14","durationMs":2771},{"turnId":"turn-15","durationMs":1892},{"turnId":"turn-16","durationMs":2189},{"turnId":"turn-17","durationMs":2412},{"turnId":"turn-18","durationMs":3483,"ttftMs":790},{"turnId":"turn-19","durationMs":3791,"ttftMs":1651},{"turnId":"turn-20","durationMs":5764},{"turnId":"turn-21","durationMs":19747,"ttftMs":13306},{"turnId":"turn-22","durationMs":69825,"ttftMs":66825},{"turnId":"turn-23","durationMs":37360,"ttftMs":29393},{"turnId":"turn-24","durationMs":2},{"turnId":"turn-25","durationMs":3310},{"turnId":"turn-26","durationMs":133998,"ttftMs":119886},{"turnId":"turn-27","durationMs":21354},{"turnId":"turn-28","durationMs":34613},{"turnId":"turn-29","durationMs":47182,"ttftMs":40627},{"turnId":"turn-30","durationMs":6697},{"turnId":"turn-31","durationMs":7977,"ttftMs":5585},{"turnId":"turn-32","durationMs":9916,"ttftMs":1105},{"turnId":"turn-33","durationMs":3721,"ttftMs":2249}]}}
|
||||||
|
{"timestamp":"2026-05-18T17:28:46.844Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":8,"inputTokens":2243,"outputTokens":1970,"totalTokens":4213,"prefillTokensPerSec":132.06,"generationTokensPerSec":42.23,"combinedTokensPerSec":66.2,"totalDurationMs":63639,"timeToFirstTokenMs":16985,"rawTimestamps":{"ttftMs":16985,"allTtftMs":[16985,1337],"generationDurationMs":46654,"turns":[{"turnId":"turn-0","durationMs":12673},{"turnId":"turn-1","durationMs":20344,"ttftMs":16985},{"turnId":"turn-2","durationMs":4137},{"turnId":"turn-3","durationMs":9417},{"turnId":"turn-4","durationMs":5762},{"turnId":"turn-5","durationMs":2149},{"turnId":"turn-6","durationMs":7088},{"turnId":"turn-7","durationMs":2069,"ttftMs":1337}]}}
|
||||||
|
{"timestamp":"2026-05-18T17:29:26.902Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":2,"inputTokens":416,"outputTokens":265,"totalTokens":681,"prefillTokensPerSec":109.85,"generationTokensPerSec":55.78,"combinedTokensPerSec":79.76,"totalDurationMs":8538,"timeToFirstTokenMs":3787,"rawTimestamps":{"ttftMs":3787,"allTtftMs":[3787],"generationDurationMs":4751,"turns":[{"turnId":"turn-0","durationMs":3102},{"turnId":"turn-1","durationMs":5436,"ttftMs":3787}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:02:24.350Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":2,"inputTokens":68503,"outputTokens":4616,"totalTokens":73119,"prefillTokensPerSec":8757.73,"generationTokensPerSec":152.37,"combinedTokensPerSec":1918.33,"totalDurationMs":38116,"timeToFirstTokenMs":7822,"rawTimestamps":{"ttftMs":7822,"allTtftMs":[7822],"generationDurationMs":30294,"turns":[{"turnId":"turn-0","durationMs":8502,"ttftMs":7822},{"turnId":"turn-1","durationMs":29614}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:11:08.129Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":36,"inputTokens":692307,"outputTokens":15656,"totalTokens":707963,"prefillTokensPerSec":11579.75,"generationTokensPerSec":76.25,"combinedTokensPerSec":2670.5,"totalDurationMs":265105,"timeToFirstTokenMs":59786,"rawTimestamps":{"ttftMs":59786,"allTtftMs":[59786,3861,4337,12069,4515,3773,3224,11472,4712,3959,2260,3896,60110,4270,5140,4180,0,1,0,0,1,0,0,0],"generationDurationMs":205319,"turns":[{"turnId":"turn-0","durationMs":5495},{"turnId":"turn-1","durationMs":59996,"ttftMs":59786},{"turnId":"turn-2","durationMs":14978,"ttftMs":3861},{"turnId":"turn-3","durationMs":5894},{"turnId":"turn-4","durationMs":4717,"ttftMs":4337},{"turnId":"turn-5","durationMs":12969,"ttftMs":12069},{"turnId":"turn-6","durationMs":4223},{"turnId":"turn-7","durationMs":7194,"ttftMs":4515},{"turnId":"turn-8","durationMs":6171},{"turnId":"turn-9","durationMs":4150},{"turnId":"turn-10","durationMs":6994,"ttftMs":3773},{"turnId":"turn-11","durationMs":4149,"ttftMs":3224},{"turnId":"turn-12","durationMs":12091,"ttftMs":11472},{"turnId":"turn-13","durationMs":4703},{"turnId":"turn-14","durationMs":5047,"ttftMs":4712},{"turnId":"turn-15","durationMs":3886},{"turnId":"turn-16","durationMs":5228,"ttftMs":3959},{"turnId":"turn-17","durationMs":3955,"ttftMs":2260},{"turnId":"turn-18","durationMs":9010,"ttftMs":3896},{"turnId":"turn-19","durationMs":61482,"ttftMs":60110},{"turnId":"turn-20","durationMs":4774,"ttftMs":4270},{"turnId":"turn-21","durationMs":5580,"ttftMs":5140},{"turnId":"turn-22","durationMs":3583},{"turnId":"turn-23","durationMs":8814,"ttftMs":4180},{"turnId":"turn-24","durationMs":4,"ttftMs":0},{"turnId":"turn-25","durationMs":5},{"turnId":"turn-26","durationMs":5,"ttftMs":1},{"turnId":"turn-27","durationMs":1,"ttftMs":0},{"turnId":"turn-28","durationMs":0,"ttftMs":0},{"turnId":"turn-29","durationMs":2,"ttftMs":1},{"turnId":"turn-30","durationMs":2},{"turnId":"turn-31","durationMs":1},{"turnId":"turn-32","durationMs":1},{"turnId":"turn-33","durationMs":1,"ttftMs":0},{"turnId":"turn-34","durationMs":0,"ttftMs":0},{"turnId":"turn-35","durationMs":0,"ttftMs":0}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:31:54.781Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":9,"inputTokens":89552,"outputTokens":3597,"totalTokens":93149,"prefillTokensPerSec":21495.92,"generationTokensPerSec":67.54,"combinedTokensPerSec":1622.18,"totalDurationMs":57422,"timeToFirstTokenMs":4166,"rawTimestamps":{"ttftMs":4166,"allTtftMs":[4166,3529,3655,6510],"generationDurationMs":53256,"turns":[{"turnId":"turn-0","durationMs":6647,"ttftMs":4166},{"turnId":"turn-1","durationMs":5466},{"turnId":"turn-2","durationMs":3693},{"turnId":"turn-3","durationMs":4031},{"turnId":"turn-4","durationMs":5936,"ttftMs":3529},{"turnId":"turn-5","durationMs":9830},{"turnId":"turn-6","durationMs":5425},{"turnId":"turn-7","durationMs":4325,"ttftMs":3655},{"turnId":"turn-8","durationMs":12069,"ttftMs":6510}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:37:04.141Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":6,"inputTokens":113452,"outputTokens":3752,"totalTokens":117204,"prefillTokensPerSec":26015.13,"generationTokensPerSec":69.59,"combinedTokensPerSec":2011.22,"totalDurationMs":58275,"timeToFirstTokenMs":4361,"rawTimestamps":{"ttftMs":4361,"allTtftMs":[4361,17827,5563,7617,3362,5079],"generationDurationMs":53914,"turns":[{"turnId":"turn-0","durationMs":5018,"ttftMs":4361},{"turnId":"turn-1","durationMs":18740,"ttftMs":17827},{"turnId":"turn-2","durationMs":6211,"ttftMs":5563},{"turnId":"turn-3","durationMs":15178,"ttftMs":7617},{"turnId":"turn-4","durationMs":4283,"ttftMs":3362},{"turnId":"turn-5","durationMs":8845,"ttftMs":5079}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:38:21.928Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":4,"inputTokens":8546,"outputTokens":1786,"totalTokens":10332,"prefillTokensPerSec":984.45,"generationTokensPerSec":72.01,"combinedTokensPerSec":308.57,"totalDurationMs":33484,"timeToFirstTokenMs":8681,"rawTimestamps":{"ttftMs":8681,"allTtftMs":[8681,5603],"generationDurationMs":24803,"turns":[{"turnId":"turn-0","durationMs":8109},{"turnId":"turn-1","durationMs":5687},{"turnId":"turn-2","durationMs":9773,"ttftMs":8681},{"turnId":"turn-3","durationMs":9915,"ttftMs":5603}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:46:17.168Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":5,"inputTokens":68753,"outputTokens":2154,"totalTokens":70907,"prefillTokensPerSec":9984.46,"generationTokensPerSec":65.6,"combinedTokensPerSec":1785.04,"totalDurationMs":39723,"timeToFirstTokenMs":6886,"rawTimestamps":{"ttftMs":6886,"allTtftMs":[6886,4833],"generationDurationMs":32837,"turns":[{"turnId":"turn-0","durationMs":8479},{"turnId":"turn-1","durationMs":4208},{"turnId":"turn-2","durationMs":16657,"ttftMs":6886},{"turnId":"turn-3","durationMs":4345},{"turnId":"turn-4","durationMs":6034,"ttftMs":4833}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:56:09.763Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":28,"inputTokens":1595354,"outputTokens":25752,"totalTokens":1621106,"prefillTokensPerSec":525305.89,"generationTokensPerSec":69.18,"combinedTokensPerSec":4319.55,"totalDurationMs":375295,"timeToFirstTokenMs":3037,"rawTimestamps":{"ttftMs":3037,"allTtftMs":[3037,13673,28033,9202,4807,4528,3654,5502,3886,4456,3250,13080,12854,3427,4212,19933,24411,9703,16122,1],"generationDurationMs":372258,"turns":[{"turnId":"turn-0","durationMs":3834},{"turnId":"turn-1","durationMs":2495},{"turnId":"turn-2","durationMs":4310,"ttftMs":3037},{"turnId":"turn-3","durationMs":15225,"ttftMs":13673},{"turnId":"turn-4","durationMs":29096,"ttftMs":28033},{"turnId":"turn-5","durationMs":9805,"ttftMs":9202},{"turnId":"turn-6","durationMs":13204,"ttftMs":4807},{"turnId":"turn-7","durationMs":5250,"ttftMs":4528},{"turnId":"turn-8","durationMs":4470,"ttftMs":3654},{"turnId":"turn-9","durationMs":5782,"ttftMs":5502},{"turnId":"turn-10","durationMs":7596,"ttftMs":3886},{"turnId":"turn-11","durationMs":7902,"ttftMs":4456},{"turnId":"turn-12","durationMs":4203,"ttftMs":3250},{"turnId":"turn-13","durationMs":5008},{"turnId":"turn-14","durationMs":3844},{"turnId":"turn-15","durationMs":14795,"ttftMs":13080},{"turnId":"turn-16","durationMs":40603,"ttftMs":12854},{"turnId":"turn-17","durationMs":5471,"ttftMs":3427},{"turnId":"turn-18","durationMs":11695,"ttftMs":4212},{"turnId":"turn-19","durationMs":26970,"ttftMs":19933},{"turnId":"turn-20","durationMs":25652,"ttftMs":24411},{"turnId":"turn-21","durationMs":11640},{"turnId":"turn-22","durationMs":10598,"ttftMs":9703},{"turnId":"turn-23","durationMs":33673,"ttftMs":16122},{"turnId":"turn-24","durationMs":3,"ttftMs":1},{"turnId":"turn-25","durationMs":5},{"turnId":"turn-26","durationMs":51430},{"turnId":"turn-27","durationMs":20736}]}}
|
||||||
|
{"timestamp":"2026-05-18T19:58:52.915Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":6,"inputTokens":10435,"outputTokens":2461,"totalTokens":12896,"prefillTokensPerSec":693.95,"generationTokensPerSec":19.21,"combinedTokensPerSec":90.07,"totalDurationMs":143171,"timeToFirstTokenMs":15037,"rawTimestamps":{"ttftMs":15037,"allTtftMs":[15037,16187,26633],"generationDurationMs":128133.99999999999,"turns":[{"turnId":"turn-0","durationMs":18505},{"turnId":"turn-1","durationMs":23335,"ttftMs":15037},{"turnId":"turn-2","durationMs":25587,"ttftMs":16187},{"turnId":"turn-3","durationMs":31798,"ttftMs":26633},{"turnId":"turn-4","durationMs":32046},{"turnId":"turn-5","durationMs":11900}]}}
|
||||||
|
{"timestamp":"2026-05-18T20:08:44.940Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":21,"inputTokens":3192238,"outputTokens":10000,"totalTokens":3202238,"prefillTokensPerSec":58744.56,"generationTokensPerSec":18.76,"combinedTokensPerSec":5450.45,"totalDurationMs":587518,"timeToFirstTokenMs":54341,"rawTimestamps":{"ttftMs":54341,"allTtftMs":[54341,33453,49862,14811,16941,35825,8885],"generationDurationMs":533177,"turns":[{"turnId":"turn-0","durationMs":62649},{"turnId":"turn-1","durationMs":58961,"ttftMs":54341},{"turnId":"turn-2","durationMs":57096},{"turnId":"turn-3","durationMs":34112,"ttftMs":33453},{"turnId":"turn-4","durationMs":51245,"ttftMs":49862},{"turnId":"turn-5","durationMs":22643},{"turnId":"turn-6","durationMs":24897,"ttftMs":14811},{"turnId":"turn-7","durationMs":18192,"ttftMs":16941},{"turnId":"turn-8","durationMs":37301,"ttftMs":35825},{"turnId":"turn-9","durationMs":16410},{"turnId":"turn-10","durationMs":16345},{"turnId":"turn-11","durationMs":15448},{"turnId":"turn-12","durationMs":44179},{"turnId":"turn-13","durationMs":20599},{"turnId":"turn-14","durationMs":15530},{"turnId":"turn-15","durationMs":14248},{"turnId":"turn-16","durationMs":15685},{"turnId":"turn-17","durationMs":15853},{"turnId":"turn-18","durationMs":16149},{"turnId":"turn-19","durationMs":18121,"ttftMs":8885},{"turnId":"turn-20","durationMs":11855}]}}
|
||||||
|
{"timestamp":"2026-05-18T20:09:48.805Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":2,"inputTokens":715,"outputTokens":197,"totalTokens":912,"prefillTokensPerSec":16.15,"generationTokensPerSec":13.02,"combinedTokensPerSec":15.35,"totalDurationMs":59418,"timeToFirstTokenMs":44282,"rawTimestamps":{"ttftMs":44282,"allTtftMs":[44282],"generationDurationMs":15136,"turns":[{"turnId":"turn-0","durationMs":53061,"ttftMs":44282},{"turnId":"turn-1","durationMs":6357}]}}
|
||||||
|
{"timestamp":"2026-05-18T20:13:13.949Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":9,"inputTokens":1405406,"outputTokens":1702,"totalTokens":1407108,"prefillTokensPerSec":86603.77,"generationTokensPerSec":10.6,"combinedTokensPerSec":7958.31,"totalDurationMs":176810,"timeToFirstTokenMs":16228,"rawTimestamps":{"ttftMs":16228,"allTtftMs":[16228,7810],"generationDurationMs":160582,"turns":[{"turnId":"turn-0","durationMs":17373,"ttftMs":16228},{"turnId":"turn-1","durationMs":36359},{"turnId":"turn-2","durationMs":14630},{"turnId":"turn-3","durationMs":36693},{"turnId":"turn-4","durationMs":14968},{"turnId":"turn-5","durationMs":16571},{"turnId":"turn-6","durationMs":14690},{"turnId":"turn-7","durationMs":14596},{"turnId":"turn-8","durationMs":10930,"ttftMs":7810}]}}
|
||||||
|
{"timestamp":"2026-05-18T20:33:37.419Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":15,"inputTokens":44601,"outputTokens":2028,"totalTokens":46629,"prefillTokensPerSec":11909.48,"generationTokensPerSec":29.39,"combinedTokensPerSec":640.91,"totalDurationMs":72754,"timeToFirstTokenMs":3745,"rawTimestamps":{"ttftMs":3745,"allTtftMs":[3745],"generationDurationMs":69009,"turns":[{"turnId":"turn-0","durationMs":4398},{"turnId":"turn-1","durationMs":3076},{"turnId":"turn-2","durationMs":3511},{"turnId":"turn-3","durationMs":2850},{"turnId":"turn-4","durationMs":3184},{"turnId":"turn-5","durationMs":4136},{"turnId":"turn-6","durationMs":3897},{"turnId":"turn-7","durationMs":2935},{"turnId":"turn-8","durationMs":5794},{"turnId":"turn-9","durationMs":4349},{"turnId":"turn-10","durationMs":4636},{"turnId":"turn-11","durationMs":2644},{"turnId":"turn-12","durationMs":12015},{"turnId":"turn-13","durationMs":9405},{"turnId":"turn-14","durationMs":5924,"ttftMs":3745}]}}
|
||||||
|
|||||||
@ -80,7 +80,8 @@ defmodule FirehoseWeb.MicroprintsLive do
|
|||||||
highlighted_line={@highlighted_line}
|
highlighted_line={@highlighted_line}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<%= if @expanded_path == path and @source_lines do %> <.source_viewer
|
<%= if @expanded_path == path and @source_lines do %>
|
||||||
|
<.source_viewer
|
||||||
source_lines={@source_lines}
|
source_lines={@source_lines}
|
||||||
highlighted_line={@highlighted_line}
|
highlighted_line={@highlighted_line}
|
||||||
language="elixir"
|
language="elixir"
|
||||||
@ -135,9 +136,12 @@ defmodule FirehoseWeb.MicroprintsLive do
|
|||||||
|
|
||||||
source_lines =
|
source_lines =
|
||||||
case expanded do
|
case expanded do
|
||||||
nil -> nil
|
nil ->
|
||||||
|
nil
|
||||||
|
|
||||||
^path ->
|
^path ->
|
||||||
item = Enum.find(socket.assigns.microprints, &(&1.path == path))
|
item = Enum.find(socket.assigns.microprints, &(&1.path == path))
|
||||||
|
|
||||||
if item && item.source_dir do
|
if item && item.source_dir do
|
||||||
abs_path = resolve_source_path(item.source_dir, path)
|
abs_path = resolve_source_path(item.source_dir, path)
|
||||||
read_source(abs_path)
|
read_source(abs_path)
|
||||||
@ -337,7 +341,12 @@ defmodule FirehoseWeb.MicroprintsLive do
|
|||||||
# Custom source_viewer with unique DOM IDs per file to prevent LiveView
|
# Custom source_viewer with unique DOM IDs per file to prevent LiveView
|
||||||
# DOM patching bugs when switching expanded files.
|
# DOM patching bugs when switching expanded files.
|
||||||
def source_viewer(assigns) do
|
def source_viewer(assigns) do
|
||||||
assigns = assign(assigns, :viewer_id, "source-viewer-" <> Integer.to_string(:erlang.phash2(assigns.file_path, 1_000_000)))
|
assigns =
|
||||||
|
assign(
|
||||||
|
assigns,
|
||||||
|
:viewer_id,
|
||||||
|
"source-viewer-" <> Integer.to_string(:erlang.phash2(assigns.file_path, 1_000_000))
|
||||||
|
)
|
||||||
|
|
||||||
~H"""
|
~H"""
|
||||||
<div
|
<div
|
||||||
@ -354,8 +363,8 @@ defmodule FirehoseWeb.MicroprintsLive do
|
|||||||
id={"line-#{num}"}
|
id={"line-#{num}"}
|
||||||
class={"sv-line" <> if @highlighted_line == num, do: " sv-line-highlighted", else: ""}
|
class={"sv-line" <> if @highlighted_line == num, do: " sv-line-highlighted", else: ""}
|
||||||
>
|
>
|
||||||
<span class="sv-line-number"><%= num %></span>
|
<span class="sv-line-number">{num}</span>
|
||||||
<span class="sv-line-content"><%= line %></span>
|
<span class="sv-line-content">{line}</span>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -70,7 +70,9 @@ defmodule FirehoseWeb.MicroprintsLiveTest do
|
|||||||
end
|
end
|
||||||
|
|
||||||
describe "expanded_path and highlighted_path coupling" do
|
describe "expanded_path and highlighted_path coupling" do
|
||||||
test "expanding file A and highlighting a line in file B should collapse file A", %{conn: conn} do
|
test "expanding file A and highlighting a line in file B should collapse file A", %{
|
||||||
|
conn: conn
|
||||||
|
} do
|
||||||
files = MicroprintsLive.scan_source_files()
|
files = MicroprintsLive.scan_source_files()
|
||||||
assert length(files) >= 2, "Need at least 2 files to test coupling"
|
assert length(files) >= 2, "Need at least 2 files to test coupling"
|
||||||
|
|
||||||
@ -90,16 +92,19 @@ defmodule FirehoseWeb.MicroprintsLiveTest do
|
|||||||
|
|
||||||
# Highlight a line in file B (rect elements inside SVG)
|
# Highlight a line in file B (rect elements inside SVG)
|
||||||
view
|
view
|
||||||
|> element("svg rect[phx-value-line=\"1\"][phx-value-path=\"#{file_b}\"]")
|
|> element(~s(svg rect[phx-value-line="1"][phx-value-path="#{file_b}"]))
|
||||||
|> render_click()
|
|> render_click()
|
||||||
|
|
||||||
# file A should be collapsed when highlighting a different file
|
# file A should be collapsed when highlighting a different file
|
||||||
html = render(view)
|
html = render(view)
|
||||||
|
|
||||||
refute html =~ "Collapse",
|
refute html =~ "Collapse",
|
||||||
"file A should be collapsed after highlighting a different file, but the Collapse button is still visible (expanded_path is uncoupled from highlighted_path)"
|
"file A should be collapsed after highlighting a different file, but the Collapse button is still visible (expanded_path is uncoupled from highlighted_path)"
|
||||||
end
|
end
|
||||||
|
|
||||||
test "switching expand from file A to file B shows each file's own source content", %{conn: conn} do
|
test "switching expand from file A to file B shows each file's own source content", %{
|
||||||
|
conn: conn
|
||||||
|
} do
|
||||||
files = MicroprintsLive.scan_source_files()
|
files = MicroprintsLive.scan_source_files()
|
||||||
assert length(files) >= 2, "Need at least 2 files to test source switching"
|
assert length(files) >= 2, "Need at least 2 files to test source switching"
|
||||||
|
|
||||||
@ -148,8 +153,10 @@ defmodule FirehoseWeb.MicroprintsLiveTest do
|
|||||||
{:ok, view, _html} = live(conn, ~p"/microprints?expanded=#{file_a}")
|
{:ok, view, _html} = live(conn, ~p"/microprints?expanded=#{file_a}")
|
||||||
|
|
||||||
html = render(view)
|
html = render(view)
|
||||||
|
|
||||||
assert html =~ "Collapse",
|
assert html =~ "Collapse",
|
||||||
"Expanded file should show Collapse button when restored from URL param"
|
"Expanded file should show Collapse button when restored from URL param"
|
||||||
|
|
||||||
assert html =~ ~s(phx-value-path="#{file_a}")
|
assert html =~ ~s(phx-value-path="#{file_a}")
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -157,6 +164,7 @@ defmodule FirehoseWeb.MicroprintsLiveTest do
|
|||||||
{:ok, view, _html} = live(conn, ~p"/microprints?expanded=nonexistent.ex")
|
{:ok, view, _html} = live(conn, ~p"/microprints?expanded=nonexistent.ex")
|
||||||
|
|
||||||
html = render(view)
|
html = render(view)
|
||||||
|
|
||||||
refute html =~ "Collapse",
|
refute html =~ "Collapse",
|
||||||
"Nonexistent expanded path should not show Collapse"
|
"Nonexistent expanded path should not show Collapse"
|
||||||
end
|
end
|
||||||
@ -173,6 +181,7 @@ defmodule FirehoseWeb.MicroprintsLiveTest do
|
|||||||
|
|
||||||
# URL should contain expanded param after clicking Expand
|
# URL should contain expanded param after clicking Expand
|
||||||
html = render(view)
|
html = render(view)
|
||||||
|
|
||||||
assert html =~ "Collapse",
|
assert html =~ "Collapse",
|
||||||
"File should remain expanded after push_patch updates URL"
|
"File should remain expanded after push_patch updates URL"
|
||||||
end
|
end
|
||||||
|
|||||||
@ -25,8 +25,10 @@ defmodule FirehoseWeb.SourceViewerTest do
|
|||||||
|
|
||||||
assert has_element?(view, "#line-1"),
|
assert has_element?(view, "#line-1"),
|
||||||
"Line 1 should exist in the source viewer"
|
"Line 1 should exist in the source viewer"
|
||||||
|
|
||||||
assert has_element?(view, "#line-2"),
|
assert has_element?(view, "#line-2"),
|
||||||
"Line 2 should exist in the source viewer"
|
"Line 2 should exist in the source viewer"
|
||||||
|
|
||||||
assert has_element?(view, "#line-3"),
|
assert has_element?(view, "#line-3"),
|
||||||
"Line 3 should exist in the source viewer"
|
"Line 3 should exist in the source viewer"
|
||||||
end
|
end
|
||||||
@ -54,10 +56,12 @@ defmodule FirehoseWeb.SourceViewerTest do
|
|||||||
expand_file(view, file)
|
expand_file(view, file)
|
||||||
|
|
||||||
click_microprint_rect(view, file, 1)
|
click_microprint_rect(view, file, 1)
|
||||||
|
|
||||||
assert has_element?(view, "#line-1.sv-line-highlighted"),
|
assert has_element?(view, "#line-1.sv-line-highlighted"),
|
||||||
"Line 1 should be highlighted after first click"
|
"Line 1 should be highlighted after first click"
|
||||||
|
|
||||||
click_microprint_rect(view, file, 1)
|
click_microprint_rect(view, file, 1)
|
||||||
|
|
||||||
refute has_element?(view, "#line-1.sv-line-highlighted"),
|
refute has_element?(view, "#line-1.sv-line-highlighted"),
|
||||||
"Line 1 should no longer be highlighted after second click"
|
"Line 1 should no longer be highlighted after second click"
|
||||||
end
|
end
|
||||||
@ -66,7 +70,8 @@ defmodule FirehoseWeb.SourceViewerTest do
|
|||||||
files = MicroprintsLive.scan_source_files()
|
files = MicroprintsLive.scan_source_files()
|
||||||
file = List.first(files)
|
file = List.first(files)
|
||||||
|
|
||||||
{:ok, view, _html} = live(conn, ~p"/microprints?expanded=#{file}&line=1&highlighted=#{file}")
|
{:ok, view, _html} =
|
||||||
|
live(conn, ~p"/microprints?expanded=#{file}&line=1&highlighted=#{file}")
|
||||||
|
|
||||||
assert has_element?(view, "#line-1.sv-line-highlighted"),
|
assert has_element?(view, "#line-1.sv-line-highlighted"),
|
||||||
"Line 1 should be highlighted when restored from URL params"
|
"Line 1 should be highlighted when restored from URL params"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user