[{"data":1,"prerenderedAt":92},["ShallowReactive",2],{"search-en":3,"content-en-developer\u002Fdecisions\u002F050-draft-strategy-registry":4,"surround-en-\u002Fdeveloper\u002Fdecisions\u002F050-draft-strategy-registry":83},[],{"id":5,"title":6,"body":7,"description":75,"extension":76,"meta":77,"navigation":78,"path":79,"seo":80,"stem":81,"__hash__":82},"content_en\u002F3.developer\u002Fdecisions\u002F13.050-draft-strategy-registry.md","ADR-050: Host-Owned Draft Strategy Registry",{"type":8,"value":9,"toc":68},"minimark",[10,27,32,36,40,43,55,59],[11,12,13,21],"ul",{},[14,15,16,20],"li",{},[17,18,19],"strong",{},"Status:"," Accepted",[14,22,23,26],{},[17,24,25],{},"Date:"," 2026-07-17",[28,29,31],"h2",{"id":30},"context","Context",[33,34,35],"p",{},"Draft generation sat inside a larger host workflow that also scans assembled context, checks quality, creates review options, persists results, routes decisions, and enforces autonomy. Making the whole workflow replaceable would let a plugin omit those responsibilities.",[28,37,39],{"id":38},"decision","Decision",[33,41,42],{},"Only primary draft generation is a strategy. The host always scans context before selection and performs quality checking, review-option generation, persistence, routing, autonomy, and sending afterward. A strategy receives a copied, frozen, size-bounded projection and returns only a draft body.",[33,44,45,46,50,51,54],{},"Strategies are selected deterministically by contact, mailbox, classification category, then ",[47,48,49],"code",{},"default",". Runtime reauthorization checks registration, flag, ",[47,52,53],{},"draft:strategy"," grant, and environment requirements. Denial, timeout, failure, stale selection, invalid output, or injection-like output falls back once to the built-in strategy.",[28,56,58],{"id":57},"consequences","Consequences",[33,60,61,62,67],{},"Plugins can customize writing without gaining control of approval or delivery. Optional strategy LLM calls remain host-mediated, separately granted, budgeted, and attributed. See ",[63,64,66],"a",{"href":65},"\u002Fdeveloper\u002Fplugin-contributions#draft-strategies","Contribution Reference",".",{"title":69,"searchDepth":70,"depth":70,"links":71},"",2,[72,73,74],{"id":30,"depth":70,"text":31},{"id":38,"depth":70,"text":39},{"id":57,"depth":70,"text":58},"Plugins may replace primary draft generation, while Owlat retains the complete safety and review envelope.","md",{},true,"\u002Fdeveloper\u002Fdecisions\u002F050-draft-strategy-registry",{"title":6,"description":75},"3.developer\u002Fdecisions\u002F13.050-draft-strategy-registry","D3oseGSx3RR8Gr22K7EC3M2FfzBuPPstNbMbPX-W-EU",[84,88],{"title":85,"path":86,"stem":87,"children":-1},"ADR-049: Plugin Platform Contract","\u002Fdeveloper\u002Fdecisions\u002F049-plugin-platform-contract","3.developer\u002Fdecisions\u002F12.049-plugin-platform-contract",{"title":89,"path":90,"stem":91,"children":-1},"ADR-051: Ordered Restrict-Only Autonomy Gates","\u002Fdeveloper\u002Fdecisions\u002F051-ordered-autonomy-gates","3.developer\u002Fdecisions\u002F14.051-ordered-autonomy-gates",1786915101507]