[{"data":1,"prerenderedAt":266},["ShallowReactive",2],{"article-prep-first-agents":3,"articles-all-for-related-prep-first-agents":143},{"id":4,"title":5,"body":6,"cover":129,"date":130,"description":131,"draft":132,"extension":133,"meta":134,"navigation":135,"path":136,"pinned":135,"seo":137,"stem":138,"tags":139,"__hash__":142},"articles\u002Farticles\u002Fprep-first-agents.md","The prep-first approach to agentic development",{"type":7,"value":8,"toc":123},"minimark",[9,14,23,27,30,112,116,119],[10,11,13],"h2",{"id":12},"the-shortcut-tax","The shortcut tax",[15,16,17,18,22],"p",{},"Agents are fast. That is exactly why teams pay a ",[19,20,21],"strong",{},"shortcut tax",": mock data that never gets replaced, silent failures, tests that assert the wrong thing.",[10,24,26],{"id":25},"prep-as-a-system","Prep as a system",[15,28,29],{},"Prep-first work means: clarify the goal, name constraints, gather references, then prompt. The model does synthesis — you own the specification.",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-typescript shiki shiki-themes github-dark github-dark","type Task = { goal: string; constraints: string[]; done: (out: unknown) => boolean }\n","typescript","",[38,39,40],"code",{"__ignoreMap":36},[41,42,45,49,53,56,60,64,67,71,74,77,79,81,84,87,89,92,95,97,100,103,106,109],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sOPea","type",[41,50,52],{"class":51},"sFR8T"," Task",[41,54,55],{"class":47}," =",[41,57,59],{"class":58},"suv1-"," { ",[41,61,63],{"class":62},"s-3mD","goal",[41,65,66],{"class":47},":",[41,68,70],{"class":69},"s8ozJ"," string",[41,72,73],{"class":58},"; ",[41,75,76],{"class":62},"constraints",[41,78,66],{"class":47},[41,80,70],{"class":69},[41,82,83],{"class":58},"[]; ",[41,85,86],{"class":51},"done",[41,88,66],{"class":47},[41,90,91],{"class":58}," (",[41,93,94],{"class":62},"out",[41,96,66],{"class":47},[41,98,99],{"class":69}," unknown",[41,101,102],{"class":58},") ",[41,104,105],{"class":47},"=>",[41,107,108],{"class":69}," boolean",[41,110,111],{"class":58}," }\n",[10,113,115],{"id":114},"what-changes-on-teams","What changes on teams",[15,117,118],{},"You review specs, not vibes. You measure whether the output is testable, observable, and aligned with production rules — the same bar you would use without AI.",[120,121,122],"style",{},"html pre.shiki code .sOPea, html code.shiki .sOPea{--shiki-default:#F97583;--shiki-dark:#F97583}html pre.shiki code .sFR8T, html code.shiki .sFR8T{--shiki-default:#B392F0;--shiki-dark:#B392F0}html pre.shiki code .suv1-, html code.shiki .suv1-{--shiki-default:#E1E4E8;--shiki-dark:#E1E4E8}html pre.shiki code .s-3mD, html code.shiki .s-3mD{--shiki-default:#FFAB70;--shiki-dark:#FFAB70}html pre.shiki code .s8ozJ, html code.shiki .s8ozJ{--shiki-default:#79B8FF;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":124,"depth":124,"links":125},2,[126,127,128],{"id":12,"depth":124,"text":13},{"id":25,"depth":124,"text":26},{"id":114,"depth":124,"text":115},null,"2026-03-10","Why research-before-prompting beats “just ask the model” when you care about shipping quality.",false,"md",{},true,"\u002Farticles\u002Fprep-first-agents",{"title":5,"description":131},"articles\u002Fprep-first-agents",[140,141],"agentic-ai","engineering","CYeGWmCH8B4rlpp7AuadJt1VTcqlSivFhpOflP4xWXs",[144,189],{"id":145,"title":146,"body":147,"cover":129,"date":179,"description":180,"draft":132,"extension":133,"meta":181,"navigation":135,"path":182,"pinned":132,"seo":183,"stem":184,"tags":185,"__hash__":188},"articles\u002Farticles\u002Fbbc-micro-2026.md","Why I still care about the BBC Micro in 2026",{"type":7,"value":148,"toc":174},[149,153,160,164,167,171],[10,150,152],{"id":151},"memory-maps-and-patience","Memory maps and patience",[15,154,155,156,159],{},"A small machine forces you to understand what lives where. That sounds quaint until you debug a production incident where ",[19,157,158],{},"implicit assumptions"," were the bug.",[10,161,163],{"id":162},"demo-scene-as-engineering-culture","Demo scene as engineering culture",[15,165,166],{},"Sceners optimize for effect under limits. Product teams optimize for outcomes under constraints. The mindset rhymes.",[10,168,170],{"id":169},"back-to-bytefern","Back to ByteFern",[15,172,173],{},"This site is partly a love letter to that culture: editorial rigour, a lab that will feel like a demo, and tools that respect the craft.",{"title":36,"searchDepth":124,"depth":124,"links":175},[176,177,178],{"id":151,"depth":124,"text":152},{"id":162,"depth":124,"text":163},{"id":169,"depth":124,"text":170},"2026-02-20","Constraints, BASIC, and what retro machines teach about craft when everything else moves at hype speed.",{},"\u002Farticles\u002Fbbc-micro-2026",{"title":146,"description":180},"articles\u002Fbbc-micro-2026",[186,187],"retro","builds","tjv_oYuPokK8hwKlEI1FRJ00A_pr7VJ8prK4dZdco_k",{"id":4,"title":5,"body":190,"cover":129,"date":130,"description":131,"draft":132,"extension":133,"meta":263,"navigation":135,"path":136,"pinned":135,"seo":264,"stem":138,"tags":265,"__hash__":142},{"type":7,"value":191,"toc":258},[192,194,198,200,202,252,254,256],[10,193,13],{"id":12},[15,195,17,196,22],{},[19,197,21],{},[10,199,26],{"id":25},[15,201,29],{},[31,203,204],{"className":33,"code":34,"language":35,"meta":36,"style":36},[38,205,206],{"__ignoreMap":36},[41,207,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,246,248,250],{"class":43,"line":44},[41,209,48],{"class":47},[41,211,52],{"class":51},[41,213,55],{"class":47},[41,215,59],{"class":58},[41,217,63],{"class":62},[41,219,66],{"class":47},[41,221,70],{"class":69},[41,223,73],{"class":58},[41,225,76],{"class":62},[41,227,66],{"class":47},[41,229,70],{"class":69},[41,231,83],{"class":58},[41,233,86],{"class":51},[41,235,66],{"class":47},[41,237,91],{"class":58},[41,239,94],{"class":62},[41,241,66],{"class":47},[41,243,99],{"class":69},[41,245,102],{"class":58},[41,247,105],{"class":47},[41,249,108],{"class":69},[41,251,111],{"class":58},[10,253,115],{"id":114},[15,255,118],{},[120,257,122],{},{"title":36,"searchDepth":124,"depth":124,"links":259},[260,261,262],{"id":12,"depth":124,"text":13},{"id":25,"depth":124,"text":26},{"id":114,"depth":124,"text":115},{},{"title":5,"description":131},[140,141],1775422461917]