[{"data":1,"prerenderedAt":371},["ShallowReactive",2],{"navigation":3,"docs-sdd\u002Fexecuting":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":365,"extension":366,"meta":367,"navigation":368,"path":84,"seo":369,"stem":85,"__hash__":370},"content\u002Fdocs\u002Fsdd\u002Fexecuting.md","Executing SDDs",{"type":94,"value":95,"toc":356},"minimark",[96,100,105,116,120,170,187,191,197,200,204,210,213,236,239,256,259,263,266,282,285,289,303,309,313,316,345,352],[97,98,92],"h1",{"id":99},"executing-sdds",[101,102,104],"h2",{"id":103},"assign-an-sdd","Assign an SDD",[106,107,112],"pre",{"className":108,"code":110,"language":111},[109],"language-text","\u002Fsdd-assign SDD-001\n","text",[113,114,110],"code",{"__ignoreMap":115},"",[117,118,119],"p",{},"You'll be asked to choose an agent backend:",[121,122,123,136],"table",{},[124,125,126],"thead",{},[127,128,129,133],"tr",{},[130,131,132],"th",{},"Backend",[130,134,135],{},"Best for",[137,138,139,150,160],"tbody",{},[127,140,141,147],{},[142,143,144],"td",{},[113,145,146],{},"claude-code",[142,148,149],{},"Complex SDDs needing human-in-the-loop",[127,151,152,157],{},[142,153,154],{},[113,155,156],{},"openhands",[142,158,159],{},"Isolated, well-defined SDDs in Docker",[127,161,162,167],{},[142,163,164],{},[113,165,166],{},"manual",[142,168,169],{},"Developer implements; SDD serves as spec",[117,171,172,175,176,179,180,179,183,186],{},[113,173,174],{},"\u002Fsdd-assign"," updates the SDD frontmatter (",[113,177,178],{},"agent",", ",[113,181,182],{},"assigned_to",[113,184,185],{},"status: assigned",") and launches the appropriate workflow.",[101,188,190],{"id":189},"interactive-execution-claude-code","Interactive execution (Claude Code)",[106,192,195],{"className":193,"code":194,"language":111},[109],"\u002Fsdd-assign SDD-001 claude\n",[113,196,194],{"__ignoreMap":115},[117,198,199],{},"Claude loads the SDD into the current session and starts implementing. You can guide, review, and adjust in real time. The agent fills the Work Log when done.",[101,201,203],{"id":202},"autonomous-execution-openhands","Autonomous execution (OpenHands)",[106,205,208],{"className":206,"code":207,"language":111},[109],"\u002Fsdd-assign SDD-001 openhands\n",[113,209,207],{"__ignoreMap":115},[117,211,212],{},"OpenHands must be running first:",[106,214,218],{"className":215,"code":216,"language":217,"meta":115,"style":115},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mise run openhands:up\n","bash",[113,219,220],{"__ignoreMap":115},[221,222,225,229,233],"span",{"class":223,"line":224},"line",1,[221,226,228],{"class":227},"sBMFI","mise",[221,230,232],{"class":231},"sfazB"," run",[221,234,235],{"class":231}," openhands:up\n",[117,237,238],{},"Then trigger execution:",[106,240,242],{"className":215,"code":241,"language":217,"meta":115,"style":115},"mise run sdd .forgia\u002Fsdd\u002FFD-001\u002FSDD-001.md\n",[113,243,244],{"__ignoreMap":115},[221,245,246,248,250,253],{"class":223,"line":224},[221,247,228],{"class":227},[221,249,232],{"class":231},[221,251,252],{"class":231}," sdd",[221,254,255],{"class":231}," .forgia\u002Fsdd\u002FFD-001\u002FSDD-001.md\n",[117,257,258],{},"OpenHands runs headlessly in Docker, reads the SDD, implements the component, and fills the Work Log.",[101,260,262],{"id":261},"batch-execution","Batch execution",[117,264,265],{},"Run all pending SDDs in an FD sequentially:",[106,267,269],{"className":215,"code":268,"language":217,"meta":115,"style":115},"forgia batch FD-001\n",[113,270,271],{"__ignoreMap":115},[221,272,273,276,279],{"class":223,"line":224},[221,274,275],{"class":227},"forgia",[221,277,278],{"class":231}," batch",[221,280,281],{"class":231}," FD-001\n",[117,283,284],{},"Forgia runs each pending SDD in order, one at a time. It stops immediately on the first failure — fix the failing SDD and re-run before continuing with the rest.",[101,286,288],{"id":287},"direct-execution","Direct execution",[106,290,292],{"className":215,"code":291,"language":217,"meta":115,"style":115},"forgia exec .forgia\u002Fsdd\u002FFD-001\u002FSDD-001.md\n",[113,293,294],{"__ignoreMap":115},[221,295,296,298,301],{"class":223,"line":224},[221,297,275],{"class":227},[221,299,300],{"class":231}," exec",[221,302,255],{"class":231},[117,304,305,306,308],{},"Runs a single SDD through the configured agent runtime without the ",[113,307,174],{}," flow.",[101,310,312],{"id":311},"work-log","Work Log",[117,314,315],{},"Every agent must fill the Work Log before marking the SDD done:",[317,318,319,327,333,339],"ul",{},[320,321,322,326],"li",{},[323,324,325],"strong",{},"Executor",": who or what ran the SDD",[320,328,329,332],{},[323,330,331],{},"Decisions",": choices made during implementation (with reasons)",[320,334,335,338],{},[323,336,337],{},"Output",": files created, commands run, test results",[320,340,341,344],{},[323,342,343],{},"Retrospective",": what worked, what didn't, what the next agent should know",[117,346,347,348,351],{},"An SDD with an empty Work Log fails ",[113,349,350],{},"\u002Ffd-verify",".",[353,354,355],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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":115,"searchDepth":357,"depth":357,"links":358},2,[359,360,361,362,363,364],{"id":103,"depth":357,"text":104},{"id":189,"depth":357,"text":190},{"id":202,"depth":357,"text":203},{"id":261,"depth":357,"text":262},{"id":287,"depth":357,"text":288},{"id":311,"depth":357,"text":312},"Assign SDDs to agents and run them interactively, autonomously, or in parallel.","md",{},{"title":83},{"title":92,"description":365},"khs5mVgKn6nAlnegUPG0mTf5KADYywA9cx_VdEa8gQA",1775060659235]