Fix dashboard dark mode readability by using theme-aware text colors
- Use and instead of hardcoded zinc colors in EditorDashboardLive - Apply same fix to MicroprintsLive description paragraph - All titles now respect the active theme and remain readable in both light and dark modes
This commit is contained in:
parent
188c556233
commit
07aca93e7c
@ -1,3 +1,4 @@
|
||||
((markdown-mode . ((qwan-markdown-attachment-dir . "app/priv/static/images/blog/2026"))))
|
||||
((markdown-mode . ((qwan-markdown-attachment-dir . "/Users/willem/dev/elixir/firehose/app/priv/static/images/blog/2026"))))
|
||||
|
||||
|
||||
|
||||
|
||||
@ -87,3 +87,30 @@
|
||||
{"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}]}}
|
||||
{"timestamp":"2026-07-06T07:20:50.664Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":10,"inputTokens":82038,"outputTokens":5650,"totalTokens":87688,"prefillTokensPerSec":21051.58,"generationTokensPerSec":73.31,"combinedTokensPerSec":1083,"totalDurationMs":80968,"timeToFirstTokenMs":3897,"rawTimestamps":{"ttftMs":3897,"allTtftMs":[3897,2921,4013],"generationDurationMs":77071,"turns":[{"turnId":"turn-0","durationMs":3919},{"turnId":"turn-1","durationMs":4549},{"turnId":"turn-2","durationMs":4880},{"turnId":"turn-3","durationMs":5750},{"turnId":"turn-4","durationMs":4528},{"turnId":"turn-5","durationMs":7093},{"turnId":"turn-6","durationMs":5200},{"turnId":"turn-7","durationMs":7985,"ttftMs":3897},{"turnId":"turn-8","durationMs":28365,"ttftMs":2921},{"turnId":"turn-9","durationMs":8699,"ttftMs":4013}]}}
|
||||
{"timestamp":"2026-07-06T07:20:55.439Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":12,"inputTokens":49052,"outputTokens":4907,"totalTokens":53959,"prefillTokensPerSec":16798.63,"generationTokensPerSec":59.25,"combinedTokensPerSec":629.37,"totalDurationMs":85735,"timeToFirstTokenMs":2920,"rawTimestamps":{"ttftMs":2920,"allTtftMs":[2920,12024,3248],"generationDurationMs":82815,"turns":[{"turnId":"turn-0","durationMs":2990},{"turnId":"turn-1","durationMs":4503,"ttftMs":2920},{"turnId":"turn-2","durationMs":4718},{"turnId":"turn-3","durationMs":4574},{"turnId":"turn-4","durationMs":5646},{"turnId":"turn-5","durationMs":3300},{"turnId":"turn-6","durationMs":5412},{"turnId":"turn-7","durationMs":4776},{"turnId":"turn-8","durationMs":5826},{"turnId":"turn-9","durationMs":4322},{"turnId":"turn-10","durationMs":34322,"ttftMs":12024},{"turnId":"turn-11","durationMs":5346,"ttftMs":3248}]}}
|
||||
{"timestamp":"2026-07-06T07:21:16.275Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":9,"inputTokens":29813,"outputTokens":5543,"totalTokens":35356,"prefillTokensPerSec":2602.16,"generationTokensPerSec":58.28,"combinedTokensPerSec":331.76,"totalDurationMs":106570,"timeToFirstTokenMs":11457,"rawTimestamps":{"ttftMs":11457,"allTtftMs":[11457,2988,2892,2817],"generationDurationMs":95113,"turns":[{"turnId":"turn-0","durationMs":5151},{"turnId":"turn-1","durationMs":3614},{"turnId":"turn-2","durationMs":4826},{"turnId":"turn-3","durationMs":27898,"ttftMs":11457},{"turnId":"turn-4","durationMs":4956},{"turnId":"turn-5","durationMs":7084},{"turnId":"turn-6","durationMs":6342,"ttftMs":2988},{"turnId":"turn-7","durationMs":40515,"ttftMs":2892},{"turnId":"turn-8","durationMs":6184,"ttftMs":2817}]}}
|
||||
{"timestamp":"2026-07-06T07:21:29.442Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":14,"inputTokens":94890,"outputTokens":5176,"totalTokens":100066,"prefillTokensPerSec":25439.68,"generationTokensPerSec":23.31,"combinedTokensPerSec":443.28,"totalDurationMs":225739,"timeToFirstTokenMs":3730,"rawTimestamps":{"ttftMs":3730,"allTtftMs":[3730,2468,4950,3471,4290,3324,4034,5348],"generationDurationMs":222009,"turns":[{"turnId":"turn-0","durationMs":15955,"ttftMs":3730},{"turnId":"turn-1","durationMs":4396,"ttftMs":2468},{"turnId":"turn-2","durationMs":16962,"ttftMs":4950},{"turnId":"turn-3","durationMs":4474},{"turnId":"turn-4","durationMs":7823},{"turnId":"turn-5","durationMs":4869},{"turnId":"turn-6","durationMs":4190},{"turnId":"turn-7","durationMs":4570},{"turnId":"turn-8","durationMs":4707},{"turnId":"turn-9","durationMs":5392,"ttftMs":3471},{"turnId":"turn-10","durationMs":16562,"ttftMs":4290},{"turnId":"turn-11","durationMs":122699,"ttftMs":3324},{"turnId":"turn-12","durationMs":5102,"ttftMs":4034},{"turnId":"turn-13","durationMs":8038,"ttftMs":5348}]}}
|
||||
{"timestamp":"2026-07-06T08:05:59.201Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":5,"inputTokens":24070,"outputTokens":1067,"totalTokens":25137,"prefillTokensPerSec":3804.93,"generationTokensPerSec":30.76,"combinedTokensPerSec":612.92,"totalDurationMs":41012,"timeToFirstTokenMs":6326,"rawTimestamps":{"ttftMs":6326,"allTtftMs":[6326,2620,3437,4109],"generationDurationMs":34686,"turns":[{"turnId":"turn-0","durationMs":3419},{"turnId":"turn-1","durationMs":9782,"ttftMs":6326},{"turnId":"turn-2","durationMs":4231,"ttftMs":2620},{"turnId":"turn-3","durationMs":5892,"ttftMs":3437},{"turnId":"turn-4","durationMs":17688,"ttftMs":4109}]}}
|
||||
{"timestamp":"2026-07-06T08:07:05.885Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":7,"inputTokens":109393,"outputTokens":1729,"totalTokens":111122,"prefillTokensPerSec":11642.51,"generationTokensPerSec":16.06,"combinedTokensPerSec":949.56,"totalDurationMs":117025,"timeToFirstTokenMs":9396,"rawTimestamps":{"ttftMs":9396,"allTtftMs":[9396,4378,17353,6698,3461],"generationDurationMs":107629,"turns":[{"turnId":"turn-0","durationMs":50357},{"turnId":"turn-1","durationMs":24922,"ttftMs":9396},{"turnId":"turn-2","durationMs":5698,"ttftMs":4378},{"turnId":"turn-3","durationMs":18637,"ttftMs":17353},{"turnId":"turn-4","durationMs":4421},{"turnId":"turn-5","durationMs":8377,"ttftMs":6698},{"turnId":"turn-6","durationMs":4613,"ttftMs":3461}]}}
|
||||
{"timestamp":"2026-07-06T08:10:05.856Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":10,"inputTokens":262472,"outputTokens":2288,"totalTokens":264760,"prefillTokensPerSec":54841.62,"generationTokensPerSec":17.83,"combinedTokensPerSec":1988.76,"totalDurationMs":133128,"timeToFirstTokenMs":4786,"rawTimestamps":{"ttftMs":4786,"allTtftMs":[4786,4979,4163,10558,6888,4131,5367],"generationDurationMs":128342.00000000001,"turns":[{"turnId":"turn-0","durationMs":5492,"ttftMs":4786},{"turnId":"turn-1","durationMs":5046},{"turnId":"turn-2","durationMs":5787,"ttftMs":4979},{"turnId":"turn-3","durationMs":8340,"ttftMs":4163},{"turnId":"turn-4","durationMs":11203,"ttftMs":10558},{"turnId":"turn-5","durationMs":33549,"ttftMs":6888},{"turnId":"turn-6","durationMs":8117},{"turnId":"turn-7","durationMs":33770},{"turnId":"turn-8","durationMs":15454,"ttftMs":4131},{"turnId":"turn-9","durationMs":6370,"ttftMs":5367}]}}
|
||||
{"timestamp":"2026-07-06T08:11:19.352Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":4,"inputTokens":93187,"outputTokens":465,"totalTokens":93652,"prefillTokensPerSec":19393.76,"generationTokensPerSec":10.29,"combinedTokensPerSec":1873.86,"totalDurationMs":49978,"timeToFirstTokenMs":4805,"rawTimestamps":{"ttftMs":4805,"allTtftMs":[4805,18919,5777],"generationDurationMs":45173,"turns":[{"turnId":"turn-0","durationMs":7991},{"turnId":"turn-1","durationMs":5478,"ttftMs":4805},{"turnId":"turn-2","durationMs":30476,"ttftMs":18919},{"turnId":"turn-3","durationMs":6033,"ttftMs":5777}]}}
|
||||
{"timestamp":"2026-07-06T08:49:36.961Z","provider":"openrouter","model":"deepseek/deepseek-v4-flash","turnCount":1,"inputTokens":0,"outputTokens":0,"totalTokens":0,"prefillTokensPerSec":0,"generationTokensPerSec":0,"combinedTokensPerSec":0,"totalDurationMs":2343,"rawTimestamps":{"allTtftMs":[],"turns":[{"turnId":"turn-0","durationMs":2343}]}}
|
||||
{"timestamp":"2026-07-06T08:59:45.963Z","provider":"llama.cpp","model":"Qwen3.6-35B-A3B-MXFP4_MOE.gguf","turnCount":1,"inputTokens":0,"outputTokens":0,"totalTokens":0,"prefillTokensPerSec":0,"generationTokensPerSec":0,"combinedTokensPerSec":0,"totalDurationMs":29,"rawTimestamps":{"allTtftMs":[],"turns":[{"turnId":"turn-0","durationMs":29}]}}
|
||||
{"timestamp":"2026-07-06T09:13:52.871Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":1,"inputTokens":3217,"outputTokens":722,"totalTokens":3939,"prefillTokensPerSec":329.61,"generationTokensPerSec":167.95,"combinedTokensPerSec":280.18,"totalDurationMs":14059,"timeToFirstTokenMs":9760,"rawTimestamps":{"ttftMs":9760,"allTtftMs":[9760],"generationDurationMs":4299,"turns":[{"turnId":"turn-0","durationMs":14059,"ttftMs":9760}]}}
|
||||
{"timestamp":"2026-07-06T09:16:12.249Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":3,"inputTokens":1333,"outputTokens":490,"totalTokens":1823,"prefillTokensPerSec":1014.46,"generationTokensPerSec":66.62,"combinedTokensPerSec":210.29,"totalDurationMs":8669,"timeToFirstTokenMs":1314,"rawTimestamps":{"ttftMs":1314,"allTtftMs":[1314,1004],"generationDurationMs":7355,"turns":[{"turnId":"turn-0","durationMs":2307,"ttftMs":1314},{"turnId":"turn-1","durationMs":4458},{"turnId":"turn-2","durationMs":1904,"ttftMs":1004}]}}
|
||||
{"timestamp":"2026-07-06T09:17:30.115Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":9,"inputTokens":22755,"outputTokens":1579,"totalTokens":24334,"prefillTokensPerSec":1350.36,"generationTokensPerSec":43.13,"combinedTokensPerSec":455.16,"totalDurationMs":53463,"timeToFirstTokenMs":16851,"rawTimestamps":{"ttftMs":16851,"allTtftMs":[16851,8596],"generationDurationMs":36612,"turns":[{"turnId":"turn-0","durationMs":3309},{"turnId":"turn-1","durationMs":1845},{"turnId":"turn-2","durationMs":2545},{"turnId":"turn-3","durationMs":6533},{"turnId":"turn-4","durationMs":3225},{"turnId":"turn-5","durationMs":1229},{"turnId":"turn-6","durationMs":5325},{"turnId":"turn-7","durationMs":17733,"ttftMs":16851},{"turnId":"turn-8","durationMs":11719,"ttftMs":8596}]}}
|
||||
{"timestamp":"2026-07-06T09:20:11.525Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":11,"inputTokens":8308,"outputTokens":4830,"totalTokens":13138,"prefillTokensPerSec":605.72,"generationTokensPerSec":60.32,"combinedTokensPerSec":140.08,"totalDurationMs":93786,"timeToFirstTokenMs":13716,"rawTimestamps":{"ttftMs":13716,"allTtftMs":[13716,8431,10253],"generationDurationMs":80070,"turns":[{"turnId":"turn-0","durationMs":15485,"ttftMs":13716},{"turnId":"turn-1","durationMs":5867},{"turnId":"turn-2","durationMs":3769},{"turnId":"turn-3","durationMs":4577},{"turnId":"turn-4","durationMs":3524},{"turnId":"turn-5","durationMs":2388},{"turnId":"turn-6","durationMs":5324},{"turnId":"turn-7","durationMs":12548},{"turnId":"turn-8","durationMs":12164},{"turnId":"turn-9","durationMs":9643,"ttftMs":8431},{"turnId":"turn-10","durationMs":18497,"ttftMs":10253}]}}
|
||||
{"timestamp":"2026-07-06T09:23:20.633Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":4,"inputTokens":16117,"outputTokens":1602,"totalTokens":17719,"prefillTokensPerSec":1223.12,"generationTokensPerSec":24.69,"combinedTokensPerSec":226.98,"totalDurationMs":78063,"timeToFirstTokenMs":13177,"rawTimestamps":{"ttftMs":13177,"allTtftMs":[13177,20231],"generationDurationMs":64885.99999999999,"turns":[{"turnId":"turn-0","durationMs":31577},{"turnId":"turn-1","durationMs":6851},{"turnId":"turn-2","durationMs":17008,"ttftMs":13177},{"turnId":"turn-3","durationMs":22627,"ttftMs":20231}]}}
|
||||
{"timestamp":"2026-07-06T09:25:15.373Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":14,"inputTokens":8647,"outputTokens":2832,"totalTokens":11479,"prefillTokensPerSec":400.97,"generationTokensPerSec":57.32,"combinedTokensPerSec":161.74,"totalDurationMs":70971,"timeToFirstTokenMs":21565,"rawTimestamps":{"ttftMs":21565,"allTtftMs":[21565,2916],"generationDurationMs":49406,"turns":[{"turnId":"turn-0","durationMs":22420,"ttftMs":21565},{"turnId":"turn-1","durationMs":4599},{"turnId":"turn-2","durationMs":1794},{"turnId":"turn-3","durationMs":1402},{"turnId":"turn-4","durationMs":1496},{"turnId":"turn-5","durationMs":5932},{"turnId":"turn-6","durationMs":5330},{"turnId":"turn-7","durationMs":1648},{"turnId":"turn-8","durationMs":6619},{"turnId":"turn-9","durationMs":1566},{"turnId":"turn-10","durationMs":7000},{"turnId":"turn-11","durationMs":1522},{"turnId":"turn-12","durationMs":1074},{"turnId":"turn-13","durationMs":8569,"ttftMs":2916}]}}
|
||||
{"timestamp":"2026-07-06T09:28:45.136Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":16,"inputTokens":23374,"outputTokens":4143,"totalTokens":27517,"prefillTokensPerSec":3511.19,"generationTokensPerSec":34.98,"combinedTokensPerSec":219.95,"totalDurationMs":125104,"timeToFirstTokenMs":6657,"rawTimestamps":{"ttftMs":6657,"allTtftMs":[6657,7562,3836,2439,2107,2188,5952,3493,3553],"generationDurationMs":118447,"turns":[{"turnId":"turn-0","durationMs":8050,"ttftMs":6657},{"turnId":"turn-1","durationMs":4822},{"turnId":"turn-2","durationMs":3581},{"turnId":"turn-3","durationMs":10242},{"turnId":"turn-4","durationMs":1301},{"turnId":"turn-5","durationMs":1924},{"turnId":"turn-6","durationMs":8867,"ttftMs":7562},{"turnId":"turn-7","durationMs":9605,"ttftMs":3836},{"turnId":"turn-8","durationMs":3620,"ttftMs":2439},{"turnId":"turn-9","durationMs":1549},{"turnId":"turn-10","durationMs":6835,"ttftMs":2107},{"turnId":"turn-11","durationMs":14151,"ttftMs":2188},{"turnId":"turn-12","durationMs":11084,"ttftMs":5952},{"turnId":"turn-13","durationMs":15546},{"turnId":"turn-14","durationMs":14314,"ttftMs":3493},{"turnId":"turn-15","durationMs":9613,"ttftMs":3553}]}}
|
||||
{"timestamp":"2026-07-06T09:36:58.480Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":1,"inputTokens":22510,"outputTokens":641,"totalTokens":23151,"prefillTokensPerSec":589.68,"generationTokensPerSec":154.5,"combinedTokensPerSec":547.02,"totalDurationMs":42322,"timeToFirstTokenMs":38173,"rawTimestamps":{"ttftMs":38173,"allTtftMs":[38173],"generationDurationMs":4149,"turns":[{"turnId":"turn-0","durationMs":42322,"ttftMs":38173}]}}
|
||||
{"timestamp":"2026-07-06T09:37:13.458Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":3,"inputTokens":465,"outputTokens":389,"totalTokens":854,"prefillTokensPerSec":450.58,"generationTokensPerSec":58.08,"combinedTokensPerSec":110.48,"totalDurationMs":7730,"timeToFirstTokenMs":1032,"rawTimestamps":{"ttftMs":1032,"allTtftMs":[1032],"generationDurationMs":6698,"turns":[{"turnId":"turn-0","durationMs":3181},{"turnId":"turn-1","durationMs":1513},{"turnId":"turn-2","durationMs":3036,"ttftMs":1032}]}}
|
||||
{"timestamp":"2026-07-06T09:42:14.103Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":25,"inputTokens":13439,"outputTokens":2676,"totalTokens":16115,"prefillTokensPerSec":4142.73,"generationTokensPerSec":45.71,"combinedTokensPerSec":260.79,"totalDurationMs":61792,"timeToFirstTokenMs":3244,"rawTimestamps":{"ttftMs":3244,"allTtftMs":[3244],"generationDurationMs":58548,"turns":[{"turnId":"turn-0","durationMs":5063},{"turnId":"turn-1","durationMs":1538},{"turnId":"turn-2","durationMs":2549},{"turnId":"turn-3","durationMs":3567},{"turnId":"turn-4","durationMs":2874},{"turnId":"turn-5","durationMs":2068},{"turnId":"turn-6","durationMs":1541},{"turnId":"turn-7","durationMs":1955},{"turnId":"turn-8","durationMs":3072},{"turnId":"turn-9","durationMs":994},{"turnId":"turn-10","durationMs":3767},{"turnId":"turn-11","durationMs":2759},{"turnId":"turn-12","durationMs":1221},{"turnId":"turn-13","durationMs":4164},{"turnId":"turn-14","durationMs":2654},{"turnId":"turn-15","durationMs":1005},{"turnId":"turn-16","durationMs":1272},{"turnId":"turn-17","durationMs":1158},{"turnId":"turn-18","durationMs":4156},{"turnId":"turn-19","durationMs":1544},{"turnId":"turn-20","durationMs":1167},{"turnId":"turn-21","durationMs":1633},{"turnId":"turn-22","durationMs":2840},{"turnId":"turn-23","durationMs":1018},{"turnId":"turn-24","durationMs":6213,"ttftMs":3244}]}}
|
||||
{"timestamp":"2026-07-06T09:45:06.220Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":9,"inputTokens":15415,"outputTokens":1526,"totalTokens":16941,"prefillTokensPerSec":5186.74,"generationTokensPerSec":34.77,"combinedTokensPerSec":361.5,"totalDurationMs":46863,"timeToFirstTokenMs":2972,"rawTimestamps":{"ttftMs":2972,"allTtftMs":[2972],"generationDurationMs":43891,"turns":[{"turnId":"turn-0","durationMs":21700},{"turnId":"turn-1","durationMs":1365},{"turnId":"turn-2","durationMs":1354},{"turnId":"turn-3","durationMs":1237},{"turnId":"turn-4","durationMs":4724},{"turnId":"turn-5","durationMs":4899},{"turnId":"turn-6","durationMs":1733},{"turnId":"turn-7","durationMs":1109},{"turnId":"turn-8","durationMs":8742,"ttftMs":2972}]}}
|
||||
{"timestamp":"2026-07-06T09:50:15.836Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":25,"inputTokens":23536,"outputTokens":6808,"totalTokens":30344,"prefillTokensPerSec":3018.21,"generationTokensPerSec":27.53,"combinedTokensPerSec":118.96,"totalDurationMs":255083,"timeToFirstTokenMs":7798,"rawTimestamps":{"ttftMs":7798,"allTtftMs":[7798,7768,9797,9570,3215,4107,3551,6355,3112,3234,10972],"generationDurationMs":247285,"turns":[{"turnId":"turn-0","durationMs":9068,"ttftMs":7798},{"turnId":"turn-1","durationMs":14930,"ttftMs":7768},{"turnId":"turn-2","durationMs":17478,"ttftMs":9797},{"turnId":"turn-3","durationMs":12887,"ttftMs":9570},{"turnId":"turn-4","durationMs":13035},{"turnId":"turn-5","durationMs":1278},{"turnId":"turn-6","durationMs":2927},{"turnId":"turn-7","durationMs":4794},{"turnId":"turn-8","durationMs":6139,"ttftMs":3215},{"turnId":"turn-9","durationMs":18061,"ttftMs":4107},{"turnId":"turn-10","durationMs":14320,"ttftMs":3551},{"turnId":"turn-11","durationMs":4074},{"turnId":"turn-12","durationMs":5611},{"turnId":"turn-13","durationMs":5212},{"turnId":"turn-14","durationMs":10330,"ttftMs":6355},{"turnId":"turn-15","durationMs":5363},{"turnId":"turn-16","durationMs":6980},{"turnId":"turn-17","durationMs":3325},{"turnId":"turn-18","durationMs":7703},{"turnId":"turn-19","durationMs":3544},{"turnId":"turn-20","durationMs":5545,"ttftMs":3112},{"turnId":"turn-21","durationMs":19582},{"turnId":"turn-22","durationMs":15254,"ttftMs":3234},{"turnId":"turn-23","durationMs":26925},{"turnId":"turn-24","durationMs":20718,"ttftMs":10972}]}}
|
||||
{"timestamp":"2026-07-06T09:52:15.085Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":1,"inputTokens":18187,"outputTokens":257,"totalTokens":18444,"prefillTokensPerSec":466.27,"generationTokensPerSec":64.75,"combinedTokensPerSec":429.19,"totalDurationMs":42974,"timeToFirstTokenMs":39005,"rawTimestamps":{"ttftMs":39005,"allTtftMs":[39005],"generationDurationMs":3969,"turns":[{"turnId":"turn-0","durationMs":42974,"ttftMs":39005}]}}
|
||||
{"timestamp":"2026-07-06T09:55:18.399Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":4,"inputTokens":873,"outputTokens":435,"totalTokens":1308,"prefillTokensPerSec":1145.67,"generationTokensPerSec":42.5,"combinedTokensPerSec":118.94,"totalDurationMs":10997,"timeToFirstTokenMs":762,"rawTimestamps":{"ttftMs":762,"allTtftMs":[762],"generationDurationMs":10235,"turns":[{"turnId":"turn-0","durationMs":1952},{"turnId":"turn-1","durationMs":2436},{"turnId":"turn-2","durationMs":3880},{"turnId":"turn-3","durationMs":2729,"ttftMs":762}]}}
|
||||
{"timestamp":"2026-07-06T10:00:11.991Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":5,"inputTokens":2850,"outputTokens":2073,"totalTokens":4923,"prefillTokensPerSec":291.29,"generationTokensPerSec":58.56,"combinedTokensPerSec":108.96,"totalDurationMs":45181,"timeToFirstTokenMs":9784,"rawTimestamps":{"ttftMs":9784,"allTtftMs":[9784,9357],"generationDurationMs":35397,"turns":[{"turnId":"turn-0","durationMs":3820},{"turnId":"turn-1","durationMs":11452,"ttftMs":9784},{"turnId":"turn-2","durationMs":12333},{"turnId":"turn-3","durationMs":2118},{"turnId":"turn-4","durationMs":15458,"ttftMs":9357}]}}
|
||||
{"timestamp":"2026-07-06T10:04:31.496Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":5,"inputTokens":2399,"outputTokens":703,"totalTokens":3102,"prefillTokensPerSec":528.3,"generationTokensPerSec":75.17,"combinedTokensPerSec":223.28,"totalDurationMs":13893,"timeToFirstTokenMs":4541,"rawTimestamps":{"ttftMs":4541,"allTtftMs":[4541],"generationDurationMs":9352,"turns":[{"turnId":"turn-0","durationMs":6070,"ttftMs":4541},{"turnId":"turn-1","durationMs":2304},{"turnId":"turn-2","durationMs":1037},{"turnId":"turn-3","durationMs":4025},{"turnId":"turn-4","durationMs":457}]}}
|
||||
{"timestamp":"2026-07-06T10:11:57.314Z","provider":"llama-cpp","model":"InternScience/Agents-A1-Q4_K_M-GGUF:Q4_K_M","turnCount":58,"inputTokens":42932,"outputTokens":11844,"totalTokens":54776,"prefillTokensPerSec":12861.59,"generationTokensPerSec":29.99,"combinedTokensPerSec":137.52,"totalDurationMs":398326,"timeToFirstTokenMs":3338,"rawTimestamps":{"ttftMs":3338,"allTtftMs":[3338,2057,8464,8884,6930,3030,1019,3387,484,1890,2422,6728,2732,2639,6297,4278,2444,10369,9301,3631],"generationDurationMs":394988,"turns":[{"turnId":"turn-0","durationMs":4317,"ttftMs":3338},{"turnId":"turn-1","durationMs":3386,"ttftMs":2057},{"turnId":"turn-2","durationMs":1626},{"turnId":"turn-3","durationMs":9637,"ttftMs":8464},{"turnId":"turn-4","durationMs":8092},{"turnId":"turn-5","durationMs":1583},{"turnId":"turn-6","durationMs":1514},{"turnId":"turn-7","durationMs":1359},{"turnId":"turn-8","durationMs":1137},{"turnId":"turn-9","durationMs":976},{"turnId":"turn-10","durationMs":1242},{"turnId":"turn-11","durationMs":951},{"turnId":"turn-12","durationMs":7954},{"turnId":"turn-13","durationMs":6324},{"turnId":"turn-14","durationMs":1780},{"turnId":"turn-15","durationMs":6263},{"turnId":"turn-16","durationMs":1889},{"turnId":"turn-17","durationMs":9985,"ttftMs":8884},{"turnId":"turn-18","durationMs":2807},{"turnId":"turn-19","durationMs":1369},{"turnId":"turn-20","durationMs":4010},{"turnId":"turn-21","durationMs":1229},{"turnId":"turn-22","durationMs":1137},{"turnId":"turn-23","durationMs":1933},{"turnId":"turn-24","durationMs":21672,"ttftMs":6930},{"turnId":"turn-25","durationMs":27377,"ttftMs":3030},{"turnId":"turn-26","durationMs":4180},{"turnId":"turn-27","durationMs":1730},{"turnId":"turn-28","durationMs":10728},{"turnId":"turn-29","durationMs":3343},{"turnId":"turn-30","durationMs":2865,"ttftMs":1019},{"turnId":"turn-31","durationMs":2211},{"turnId":"turn-32","durationMs":9010,"ttftMs":3387},{"turnId":"turn-33","durationMs":20086},{"turnId":"turn-34","durationMs":1892,"ttftMs":484},{"turnId":"turn-35","durationMs":3443},{"turnId":"turn-36","durationMs":13885,"ttftMs":1890},{"turnId":"turn-37","durationMs":14524,"ttftMs":2422},{"turnId":"turn-38","durationMs":11963},{"turnId":"turn-39","durationMs":2144},{"turnId":"turn-40","durationMs":9451,"ttftMs":6728},{"turnId":"turn-41","durationMs":8712},{"turnId":"turn-42","durationMs":4965},{"turnId":"turn-43","durationMs":5098},{"turnId":"turn-44","durationMs":4101,"ttftMs":2732},{"turnId":"turn-45","durationMs":11189,"ttftMs":2639},{"turnId":"turn-46","durationMs":14265},{"turnId":"turn-47","durationMs":12065},{"turnId":"turn-48","durationMs":9402},{"turnId":"turn-49","durationMs":10619},{"turnId":"turn-50","durationMs":8387,"ttftMs":6297},{"turnId":"turn-51","durationMs":5128},{"turnId":"turn-52","durationMs":4093},{"turnId":"turn-53","durationMs":5412,"ttftMs":4278},{"turnId":"turn-54","durationMs":11398,"ttftMs":2444},{"turnId":"turn-55","durationMs":14176,"ttftMs":10369},{"turnId":"turn-56","durationMs":12414,"ttftMs":9301},{"turnId":"turn-57","durationMs":13898,"ttftMs":3631}]}}
|
||||
|
||||
@ -3,6 +3,10 @@
|
||||
This project has a *zero defects policy*.
|
||||
When you are unsure about something, ALWAYS ask the user.
|
||||
|
||||
# Communication
|
||||
|
||||
When creating yaks or working on features, always ask clarifying questions to ensure understanding. Ask questions one at a time to maintain clear communication and allow for focused discussion.
|
||||
|
||||
|
||||
You run in a `nono` sandbox. Always ask the user to run commands that require privilege, like docker, sudo or package installation.
|
||||
|
||||
|
||||
@ -39,7 +39,7 @@ defmodule FirehoseWeb.EditorDashboardLive do
|
||||
"pb-2 px-1 text-sm font-medium transition-colors",
|
||||
if(@active_tab == :drafts,
|
||||
do: "border-b-2 border-zinc-900 text-zinc-900",
|
||||
else: "text-zinc-500 hover:text-zinc-700"
|
||||
else: "text-base-content/70 hover:text-base-content"
|
||||
)
|
||||
]}
|
||||
>
|
||||
@ -52,7 +52,7 @@ defmodule FirehoseWeb.EditorDashboardLive do
|
||||
"pb-2 px-1 text-sm font-medium transition-colors",
|
||||
if(@active_tab == :scheduled,
|
||||
do: "border-b-2 border-zinc-900 text-zinc-900",
|
||||
else: "text-zinc-500 hover:text-zinc-700"
|
||||
else: "text-base-content/70 hover:text-base-content"
|
||||
)
|
||||
]}
|
||||
>
|
||||
@ -61,17 +61,17 @@ defmodule FirehoseWeb.EditorDashboardLive do
|
||||
</div>
|
||||
|
||||
<div id="drafts-tab" class={if(@active_tab != :drafts, do: "hidden")}>
|
||||
<div :if={@drafts == []} class="text-zinc-500 text-sm">No drafts</div>
|
||||
<div :if={@drafts == []} class="text-base-content/70 text-sm">No drafts</div>
|
||||
<div :for={post <- @drafts} class="py-4 border-b border-zinc-100 last:border-0">
|
||||
<div class="flex items-center justify-between">
|
||||
<div>
|
||||
<.link
|
||||
navigate={post_path(post)}
|
||||
class="text-base font-medium text-zinc-900 hover:underline"
|
||||
class="text-base font-medium text-base-content hover:underline"
|
||||
>
|
||||
{post.title}
|
||||
</.link>
|
||||
<div class="text-sm text-zinc-500 mt-1">
|
||||
<div class="text-sm text-base-content/70 mt-1">
|
||||
{post.author} · {Calendar.strftime(post.date, "%b %d, %Y")} ·
|
||||
<span class="text-amber-600 font-medium">Draft</span>
|
||||
</div>
|
||||
@ -81,17 +81,17 @@ defmodule FirehoseWeb.EditorDashboardLive do
|
||||
</div>
|
||||
|
||||
<div id="scheduled-tab" class={if(@active_tab != :scheduled, do: "hidden")}>
|
||||
<div :if={@scheduled == []} class="text-zinc-500 text-sm">No scheduled posts</div>
|
||||
<div :if={@scheduled == []} class="text-base-content/70 text-sm">No scheduled posts</div>
|
||||
<div :for={post <- @scheduled} class="py-4 border-b border-zinc-100 last:border-0">
|
||||
<div class="flex items-center justify-between">
|
||||
<div>
|
||||
<.link
|
||||
navigate={post_path(post)}
|
||||
class="text-base font-medium text-zinc-900 hover:underline"
|
||||
class="text-base font-medium text-base-content hover:underline"
|
||||
>
|
||||
{post.title}
|
||||
</.link>
|
||||
<div class="text-sm text-zinc-500 mt-1">
|
||||
<div class="text-sm text-base-content/70 mt-1">
|
||||
{post.author} · {Calendar.strftime(post.date, "%b %d, %Y")} ·
|
||||
<span class="text-blue-600 font-medium">
|
||||
{Post.days_until_live(post)} days until live
|
||||
|
||||
@ -42,7 +42,7 @@ defmodule FirehoseWeb.MicroprintsLive do
|
||||
~H"""
|
||||
<div class="max-w-6xl mx-auto">
|
||||
<h1 class="text-2xl font-bold mb-2">Microprints</h1>
|
||||
<p class="text-sm text-zinc-500 mb-6">
|
||||
<p class="text-sm text-base-content/70 mb-6">
|
||||
Visual fingerprints of source code files. Click a line to highlight it.
|
||||
Click a card to expand and view the source.
|
||||
</p>
|
||||
|
||||
@ -9,4 +9,10 @@
|
||||
|
||||
I had started on a "Write your own coding agent" exercise. Four iterations in, actually. And then I found [Tiny Agents]( https://tinyagents.dev/lesson/agent-loop), a set of interactive exercises that let you experience how agents work, from a simple chat request, through a tool, more tools etc. It has a live graph, that visualises of the flow of data and actions.
|
||||
|
||||
It is good fun to play with, it starts simple and builds up. It lets you inspect the messages between the 'agent' loop code and the large language model server (which is just HTTP and some JSON).
|
||||
It is good fun to play with, it starts simple and builds up. It lets you inspect the messages between the 'agent' loop code and the large language model server (which is just HTTP and some JSON).
|
||||
![]/images/blog/2026/Screenshot 2026-06-30 at 22.42.49.png)
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
@ -86,5 +86,15 @@ defmodule FirehoseWeb.EditorDashboardLiveTest do
|
||||
{:ok, _view, html} = live(conn, ~p"/editor/dashboard")
|
||||
refute html =~ "Live Post"
|
||||
end
|
||||
|
||||
test "renders with app layout including menu", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/editor/dashboard")
|
||||
# Verify the app layout is applied by checking for menu elements
|
||||
assert html =~ "Willem's firehose"
|
||||
assert html =~ "Blog"
|
||||
assert html =~ "Releases"
|
||||
assert html =~ "Contact"
|
||||
assert html =~ "Dashboard" # This should be in the menu
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user