[{"data":1,"prerenderedAt":298},["ShallowReactive",2],{"navigation":3,"docs-fd":90},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,34,40,58,76],{"title":10,"path":6,"stem":11},"Overview","docs\u002Findex",{"title":13,"path":14,"stem":15,"children":16},"CLI Reference","\u002Fdocs\u002Fcli","docs\u002Fcli\u002Findex",[17,18,22,26,30],{"title":13,"path":14,"stem":15},{"title":19,"path":20,"stem":21},"doctor","\u002Fdocs\u002Fcli\u002Fdoctor","docs\u002Fcli\u002Fdoctor",{"title":23,"path":24,"stem":25},"exec","\u002Fdocs\u002Fcli\u002Fexec","docs\u002Fcli\u002Fexec",{"title":27,"path":28,"stem":29},"init","\u002Fdocs\u002Fcli\u002Finit","docs\u002Fcli\u002Finit",{"title":31,"path":32,"stem":33},"status","\u002Fdocs\u002Fcli\u002Fstatus","docs\u002Fcli\u002Fstatus",{"title":35,"path":36,"stem":37,"children":38},"Constitution","\u002Fdocs\u002Fconstitution","docs\u002Fconstitution\u002Findex",[39],{"title":35,"path":36,"stem":37},{"title":41,"path":42,"stem":43,"children":44},"FD Guide","\u002Fdocs\u002Ffd","docs\u002Ffd\u002Findex",[45,46,50,54],{"title":41,"path":42,"stem":43},{"title":47,"path":48,"stem":49},"Closing","\u002Fdocs\u002Ffd\u002Fclosing","docs\u002Ffd\u002Fclosing",{"title":51,"path":52,"stem":53},"Creating","\u002Fdocs\u002Ffd\u002Fcreating","docs\u002Ffd\u002Fcreating",{"title":55,"path":56,"stem":57},"Reviewing","\u002Fdocs\u002Ffd\u002Freviewing","docs\u002Ffd\u002Freviewing",{"title":59,"path":60,"stem":61,"children":62},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started\u002Findex",[63,64,68,72],{"title":59,"path":60,"stem":61},{"title":65,"path":66,"stem":67},"First Feature","\u002Fdocs\u002Fgetting-started\u002Ffirst-feature","docs\u002Fgetting-started\u002Ffirst-feature",{"title":69,"path":70,"stem":71},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002Fgetting-started\u002Finstallation",{"title":73,"path":74,"stem":75},"Feature Lifecycle","\u002Fdocs\u002Fgetting-started\u002Flifecycle","docs\u002Fgetting-started\u002Flifecycle",{"title":77,"path":78,"stem":79,"children":80},"SDD Guide","\u002Fdocs\u002Fsdd","docs\u002Fsdd\u002Findex",[81,82,86],{"title":77,"path":78,"stem":79},{"title":83,"path":84,"stem":85},"Executing","\u002Fdocs\u002Fsdd\u002Fexecuting","docs\u002Fsdd\u002Fexecuting",{"title":87,"path":88,"stem":89},"Generating","\u002Fdocs\u002Fsdd\u002Fgenerating","docs\u002Fsdd\u002Fgenerating",{"id":91,"title":92,"body":93,"description":292,"extension":293,"meta":294,"navigation":295,"path":42,"seo":296,"stem":43,"__hash__":297},"content\u002Fdocs\u002Ffd\u002Findex.md","Feature Design",{"type":94,"value":95,"toc":285},"minimark",[96,101,110,121,126,216,220,226,237,241,244,248],[97,98,100],"h1",{"id":99},"feature-design-fd","Feature Design (FD)",[102,103,104,105,109],"p",{},"A Feature Design is a ",[106,107,108],"strong",{},"functional design document written for humans",". It captures decisions, trade-offs, and architecture — not implementation details.",[111,112,117],"pre",{"className":113,"code":115,"language":116},[114],"language-text","FD answers: WHAT needs to be built, and WHY\nSDD answers: HOW an agent should build one component\n","text",[118,119,115],"code",{"__ignoreMap":120},"",[122,123,125],"h2",{"id":124},"what-an-fd-contains","What an FD contains",[127,128,129,142],"table",{},[130,131,132],"thead",{},[133,134,135,139],"tr",{},[136,137,138],"th",{},"Section",[136,140,141],{},"Purpose",[143,144,145,156,166,176,186,196,206],"tbody",{},[133,146,147,153],{},[148,149,150],"td",{},[106,151,152],{},"Problem",[148,154,155],{},"What is broken or missing, and why it matters",[133,157,158,163],{},[148,159,160],{},[106,161,162],{},"Solutions Considered",[148,164,165],{},"At least 2 options with pros\u002Fcons, one chosen",[133,167,168,173],{},[148,169,170],{},[106,171,172],{},"Architecture",[148,174,175],{},"Integration context diagram + data flow diagram (Mermaid)",[133,177,178,183],{},[148,179,180],{},[106,181,182],{},"Interfaces",[148,184,185],{},"Component contracts — inputs, outputs, protocols",[133,187,188,193],{},[148,189,190],{},[106,191,192],{},"Planned SDDs",[148,194,195],{},"Which components will become separate execution specs",[133,197,198,203],{},[148,199,200],{},[106,201,202],{},"Constraints",[148,204,205],{},"Technical, time, and budget limits",[133,207,208,213],{},[148,209,210],{},[106,211,212],{},"Verification",[148,214,215],{},"Testable acceptance criteria",[122,217,219],{"id":218},"lifecycle","Lifecycle",[111,221,224],{"className":222,"code":223,"language":116},[114],"planned → approved → in-progress → complete → closed\n              ↑\n         \u002Ffd-review (mandatory gate)\n",[118,225,223],{"__ignoreMap":120},[102,227,228,229,232,233,236],{},"An FD can also be ",[118,230,231],{},"rejected"," (loses a competitive review) or ",[118,234,235],{},"abandoned"," (team decides to drop it).",[122,238,240],{"id":239},"when-to-create-an-fd","When to create an FD",[102,242,243],{},"Create an FD for any non-trivial change: new features, significant refactors, architectural decisions. Skip it for typo fixes, dependency bumps, or single-file changes with no design decisions.",[122,245,247],{"id":246},"pages","Pages",[249,250,251,263,273],"ul",{},[252,253,254,258,259,262],"li",{},[255,256,257],"a",{"href":52},"Creating an FD"," — ",[118,260,261],{},"\u002Ffd-new"," from issue, free-text, or manual",[252,264,265,268,269,272],{},[255,266,267],{"href":56},"Reviewing an FD"," — what ",[118,270,271],{},"\u002Ffd-review"," checks",[252,274,275,258,278,281,282],{},[255,276,277],{"href":48},"Closing an FD",[118,279,280],{},"\u002Ffd-verify"," and ",[118,283,284],{},"\u002Ffd-close",{"title":120,"searchDepth":286,"depth":286,"links":287},2,[288,289,290,291],{"id":124,"depth":286,"text":125},{"id":218,"depth":286,"text":219},{"id":239,"depth":286,"text":240},{"id":246,"depth":286,"text":247},"What an FD is, when to create one, and how it fits in the Forgia workflow.","md",{},{"title":41},{"title":92,"description":292},"2TaooQRBTsRkgT1pyGiXUNbyxp5HzhyPAUlsCwNrXhk",1775060659123]