[{"data":1,"prerenderedAt":1371},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fworkflows":3,"surround-\u002Fdocs\u002Fworkflows":1335,"docs-nav":1342},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"order":10,"group":11,"body":12,"_type":1329,"_id":1330,"_source":1331,"_file":1332,"_stem":1333,"_extension":1334},"\u002Fdocs\u002Fworkflows","docs",false,"","Workflows","14 built-in workflows and 14 methodologies — opinionated, phase-based recipes with quality gates, all customizable in YAML.",3,"Build",{"type":13,"children":14,"toc":1321},"root",[15,60,67,85,123,135,240,246,425,459,465,470,476,489,680,709,715,720,915,921,926,1145,1150,1245,1265,1271,1315],{"type":16,"tag":17,"props":18,"children":19},"element","p",{},[20,23,29,31,36,38,44,46,51,53,58],{"type":21,"value":22},"text","A ",{"type":16,"tag":24,"props":25,"children":26},"strong",{},[27],{"type":21,"value":28},"workflow",{"type":21,"value":30}," is a recipe of phases an agent runs to complete a task — plan, implement, test, document, review, ship. A ",{"type":16,"tag":24,"props":32,"children":33},{},[34],{"type":21,"value":35},"methodology",{"type":21,"value":37}," is the matching set of roles, prompts and quality bars it runs ",{"type":16,"tag":39,"props":40,"children":41},"em",{},[42],{"type":21,"value":43},"with",{"type":21,"value":45},". Excalibur ships ",{"type":16,"tag":24,"props":47,"children":48},{},[49],{"type":21,"value":50},"14 workflows",{"type":21,"value":52}," and ",{"type":16,"tag":24,"props":54,"children":55},{},[56],{"type":21,"value":57},"14 methodologies",{"type":21,"value":59},", and picks the right one from your intent — or you choose explicitly.",{"type":16,"tag":61,"props":62,"children":64},"h2",{"id":63},"the-default-pipeline",[65],{"type":21,"value":66},"The default pipeline",{"type":16,"tag":17,"props":68,"children":69},{},[70,72,77,78,83],{"type":21,"value":71},"Code-shipping workflows run these phases. ",{"type":16,"tag":24,"props":73,"children":74},{},[75],{"type":21,"value":76},"Verify (tests)",{"type":21,"value":52},{"type":16,"tag":24,"props":79,"children":80},{},[81],{"type":21,"value":82},"Document",{"type":21,"value":84}," are first-class gates, not afterthoughts:",{"type":16,"tag":86,"props":87,"children":90},"pre",{"className":88,"code":89,"language":21,"meta":7,"style":7},"language-text shiki shiki-themes github-light","Plan ─→ Implement ─→ Verify (tests) ─→ Document ─→ Review ─→ Pull request\n                          │                │           │\n                        gate             gate     adversarial\n",[91],{"type":16,"tag":92,"props":93,"children":94},"code",{"__ignoreMap":7},[95,106,115],{"type":16,"tag":96,"props":97,"children":100},"span",{"class":98,"line":99},"line",1,[101],{"type":16,"tag":96,"props":102,"children":103},{},[104],{"type":21,"value":105},"Plan ─→ Implement ─→ Verify (tests) ─→ Document ─→ Review ─→ Pull request\n",{"type":16,"tag":96,"props":107,"children":109},{"class":98,"line":108},2,[110],{"type":16,"tag":96,"props":111,"children":112},{},[113],{"type":21,"value":114},"                          │                │           │\n",{"type":16,"tag":96,"props":116,"children":117},{"class":98,"line":10},[118],{"type":16,"tag":96,"props":119,"children":120},{},[121],{"type":21,"value":122},"                        gate             gate     adversarial\n",{"type":16,"tag":17,"props":124,"children":125},{},[126,128,133],{"type":21,"value":127},"Document runs ",{"type":16,"tag":24,"props":129,"children":130},{},[131],{"type":21,"value":132},"before",{"type":21,"value":134}," Review on purpose: the review (an adversarial pass that tries to refute the change) covers the docs too, and the PR opens complete — code, tests and docs together.",{"type":16,"tag":136,"props":137,"children":138},"note",{},[139],{"type":16,"tag":17,"props":140,"children":141},{},[142,147,149,155,157,163,165,171,172,178,179,185,187,193,194,200,201,207,208,214,216,222,224,230,232,238],{"type":16,"tag":24,"props":143,"children":144},{},[145],{"type":21,"value":146},"Phase types:",{"type":21,"value":148}," ",{"type":16,"tag":92,"props":150,"children":152},{"className":151},[],[153],{"type":21,"value":154},"context",{"type":21,"value":156}," · ",{"type":16,"tag":92,"props":158,"children":160},{"className":159},[],[161],{"type":21,"value":162},"plan",{"type":21,"value":164},"\u002F",{"type":16,"tag":92,"props":166,"children":168},{"className":167},[],[169],{"type":21,"value":170},"spec",{"type":21,"value":156},{"type":16,"tag":92,"props":173,"children":175},{"className":174},[],[176],{"type":21,"value":177},"agent_work",{"type":21,"value":156},{"type":16,"tag":92,"props":180,"children":182},{"className":181},[],[183],{"type":21,"value":184},"verify",{"type":21,"value":186}," (gate) · ",{"type":16,"tag":92,"props":188,"children":190},{"className":189},[],[191],{"type":21,"value":192},"document",{"type":21,"value":186},{"type":16,"tag":92,"props":195,"children":197},{"className":196},[],[198],{"type":21,"value":199},"review",{"type":21,"value":156},{"type":16,"tag":92,"props":202,"children":204},{"className":203},[],[205],{"type":21,"value":206},"apply_patch",{"type":21,"value":164},{"type":16,"tag":92,"props":209,"children":211},{"className":210},[],[212],{"type":21,"value":213},"pr",{"type":21,"value":215},". Phases can be ",{"type":16,"tag":92,"props":217,"children":219},{"className":218},[],[220],{"type":21,"value":221},"optional",{"type":21,"value":223},", can ",{"type":16,"tag":92,"props":225,"children":227},{"className":226},[],[228],{"type":21,"value":229},"requireHumanConfirmation",{"type":21,"value":231},", and declare ",{"type":16,"tag":92,"props":233,"children":235},{"className":234},[],[236],{"type":21,"value":237},"onFailure",{"type":21,"value":239}," behavior.",{"type":16,"tag":61,"props":241,"children":243},{"id":242},"the-catalog",[244],{"type":21,"value":245},"The catalog",{"type":16,"tag":247,"props":248,"children":249},"table",{},[250,269],{"type":16,"tag":251,"props":252,"children":253},"thead",{},[254],{"type":16,"tag":255,"props":256,"children":257},"tr",{},[258,264],{"type":16,"tag":259,"props":260,"children":261},"th",{},[262],{"type":21,"value":263},"Workflow",{"type":16,"tag":259,"props":265,"children":266},{},[267],{"type":21,"value":268},"When to reach for it",{"type":16,"tag":270,"props":271,"children":272},"tbody",{},[273,290,306,322,338,354,370,386,402],{"type":16,"tag":255,"props":274,"children":275},{},[276,285],{"type":16,"tag":277,"props":278,"children":279},"td",{},[280],{"type":16,"tag":24,"props":281,"children":282},{},[283],{"type":21,"value":284},"Review First",{"type":16,"tag":277,"props":286,"children":287},{},[288],{"type":21,"value":289},"Understand and critique before any change (L0).",{"type":16,"tag":255,"props":291,"children":292},{},[293,301],{"type":16,"tag":277,"props":294,"children":295},{},[296],{"type":16,"tag":24,"props":297,"children":298},{},[299],{"type":21,"value":300},"Fast Fix",{"type":16,"tag":277,"props":302,"children":303},{},[304],{"type":21,"value":305},"Small, obvious fixes — minimal ceremony.",{"type":16,"tag":255,"props":307,"children":308},{},[309,317],{"type":16,"tag":277,"props":310,"children":311},{},[312],{"type":16,"tag":24,"props":313,"children":314},{},[315],{"type":21,"value":316},"Standard Feature",{"type":16,"tag":277,"props":318,"children":319},{},[320],{"type":21,"value":321},"The everyday plan → build → test → ship.",{"type":16,"tag":255,"props":323,"children":324},{},[325,333],{"type":16,"tag":277,"props":326,"children":327},{},[328],{"type":16,"tag":24,"props":329,"children":330},{},[331],{"type":21,"value":332},"Structured Feature",{"type":16,"tag":277,"props":334,"children":335},{},[336],{"type":21,"value":337},"Bigger work needing specs, gates and approvals.",{"type":16,"tag":255,"props":339,"children":340},{},[341,349],{"type":16,"tag":277,"props":342,"children":343},{},[344],{"type":16,"tag":24,"props":345,"children":346},{},[347],{"type":21,"value":348},"Safe Refactor",{"type":16,"tag":277,"props":350,"children":351},{},[352],{"type":21,"value":353},"Behaviour-preserving change, tests as the net.",{"type":16,"tag":255,"props":355,"children":356},{},[357,365],{"type":16,"tag":277,"props":358,"children":359},{},[360],{"type":16,"tag":24,"props":361,"children":362},{},[363],{"type":21,"value":364},"Security First",{"type":16,"tag":277,"props":366,"children":367},{},[368],{"type":21,"value":369},"Threat-aware build with a security-review gate.",{"type":16,"tag":255,"props":371,"children":372},{},[373,381],{"type":16,"tag":277,"props":374,"children":375},{},[376],{"type":16,"tag":24,"props":377,"children":378},{},[379],{"type":21,"value":380},"Migration",{"type":16,"tag":277,"props":382,"children":383},{},[384],{"type":21,"value":385},"Staged, reversible, data-aware changes.",{"type":16,"tag":255,"props":387,"children":388},{},[389,397],{"type":16,"tag":277,"props":390,"children":391},{},[392],{"type":16,"tag":24,"props":393,"children":394},{},[395],{"type":21,"value":396},"Explore Alternatives",{"type":16,"tag":277,"props":398,"children":399},{},[400],{"type":21,"value":401},"Several approaches in parallel — compare and pick.",{"type":16,"tag":255,"props":403,"children":404},{},[405,413],{"type":16,"tag":277,"props":406,"children":407},{},[408],{"type":16,"tag":24,"props":409,"children":410},{},[411],{"type":21,"value":412},"Discovery",{"type":16,"tag":277,"props":414,"children":415},{},[416,418,423],{"type":21,"value":417},"Decide ",{"type":16,"tag":39,"props":419,"children":420},{},[421],{"type":21,"value":422},"what",{"type":21,"value":424}," to build — or whether to build at all.",{"type":16,"tag":17,"props":426,"children":427},{},[428,430,436,437,443,445,449,451,457],{"type":21,"value":429},"…plus ",{"type":16,"tag":92,"props":431,"children":433},{"className":432},[],[434],{"type":21,"value":435},"human-gated",{"type":21,"value":52},{"type":16,"tag":92,"props":438,"children":440},{"className":439},[],[441],{"type":21,"value":442},"ask-repo",{"type":21,"value":444},", and a matching ",{"type":16,"tag":24,"props":446,"children":447},{},[448],{"type":21,"value":35},{"type":21,"value":450}," for each. List them with ",{"type":16,"tag":92,"props":452,"children":454},{"className":453},[],[455],{"type":21,"value":456},"excalibur workflows list",{"type":21,"value":458},".",{"type":16,"tag":61,"props":460,"children":462},{"id":461},"how-a-workflow-is-chosen",[463],{"type":21,"value":464},"How a workflow is chosen",{"type":16,"tag":17,"props":466,"children":467},{},[468],{"type":21,"value":469},"Excalibur infers intent and proposes a workflow + autonomy, then confirms before running:",{"type":16,"tag":471,"props":472,"children":475},"shell",{":lines":473,"title":474},"[{\"kind\":\"prompt\",\"text\":\"migrate the user table to the new schema\"},{\"kind\":\"head\",\"text\":\"intent: migration · workflow: migration · autonomy: L4\"},{\"kind\":\"arrow\",\"text\":\"[Enter] run   ·   [m] modify   ·   [c] careful\",\"tone\":\"accent\"}]","excalibur",[],{"type":16,"tag":17,"props":477,"children":478},{},[479,481,487],{"type":21,"value":480},"Override it explicitly — in the shell with a ",{"type":16,"tag":92,"props":482,"children":484},{"className":483},[],[485],{"type":21,"value":486},"\u002Fcommand",{"type":21,"value":488},", or as a one-shot CLI command:",{"type":16,"tag":86,"props":490,"children":494},{"className":491,"code":492,"language":493,"meta":7,"style":7},"language-bash shiki shiki-themes github-light","excalibur run \"speed up the report query\" --explore      # N candidates, compared\nexcalibur run \"rotate signing keys\" --careful            # max caution (L4)\nexcalibur run \"tidy imports\" --fast                       # minimal ceremony\nexcalibur run \"add SSO\" --structured                      # force structured-feature\nexcalibur run \"…\" --workflow security-first               # name a workflow\nexcalibur workflows list\nexcalibur workflows explain standard-feature\n","bash",[495],{"type":16,"tag":92,"props":496,"children":497},{"__ignoreMap":7},[498,529,555,581,608,640,658],{"type":16,"tag":96,"props":499,"children":500},{"class":98,"line":99},[501,506,512,517,523],{"type":16,"tag":96,"props":502,"children":504},{"style":503},"--shiki-default:#6F42C1",[505],{"type":21,"value":474},{"type":16,"tag":96,"props":507,"children":509},{"style":508},"--shiki-default:#032F62",[510],{"type":21,"value":511}," run",{"type":16,"tag":96,"props":513,"children":514},{"style":508},[515],{"type":21,"value":516}," \"speed up the report query\"",{"type":16,"tag":96,"props":518,"children":520},{"style":519},"--shiki-default:#005CC5",[521],{"type":21,"value":522}," --explore",{"type":16,"tag":96,"props":524,"children":526},{"style":525},"--shiki-default:#6A737D",[527],{"type":21,"value":528},"      # N candidates, compared\n",{"type":16,"tag":96,"props":530,"children":531},{"class":98,"line":108},[532,536,540,545,550],{"type":16,"tag":96,"props":533,"children":534},{"style":503},[535],{"type":21,"value":474},{"type":16,"tag":96,"props":537,"children":538},{"style":508},[539],{"type":21,"value":511},{"type":16,"tag":96,"props":541,"children":542},{"style":508},[543],{"type":21,"value":544}," \"rotate signing keys\"",{"type":16,"tag":96,"props":546,"children":547},{"style":519},[548],{"type":21,"value":549}," --careful",{"type":16,"tag":96,"props":551,"children":552},{"style":525},[553],{"type":21,"value":554},"            # max caution (L4)\n",{"type":16,"tag":96,"props":556,"children":557},{"class":98,"line":10},[558,562,566,571,576],{"type":16,"tag":96,"props":559,"children":560},{"style":503},[561],{"type":21,"value":474},{"type":16,"tag":96,"props":563,"children":564},{"style":508},[565],{"type":21,"value":511},{"type":16,"tag":96,"props":567,"children":568},{"style":508},[569],{"type":21,"value":570}," \"tidy imports\"",{"type":16,"tag":96,"props":572,"children":573},{"style":519},[574],{"type":21,"value":575}," --fast",{"type":16,"tag":96,"props":577,"children":578},{"style":525},[579],{"type":21,"value":580},"                       # minimal ceremony\n",{"type":16,"tag":96,"props":582,"children":584},{"class":98,"line":583},4,[585,589,593,598,603],{"type":16,"tag":96,"props":586,"children":587},{"style":503},[588],{"type":21,"value":474},{"type":16,"tag":96,"props":590,"children":591},{"style":508},[592],{"type":21,"value":511},{"type":16,"tag":96,"props":594,"children":595},{"style":508},[596],{"type":21,"value":597}," \"add SSO\"",{"type":16,"tag":96,"props":599,"children":600},{"style":519},[601],{"type":21,"value":602}," --structured",{"type":16,"tag":96,"props":604,"children":605},{"style":525},[606],{"type":21,"value":607},"                      # force structured-feature\n",{"type":16,"tag":96,"props":609,"children":611},{"class":98,"line":610},5,[612,616,620,625,630,635],{"type":16,"tag":96,"props":613,"children":614},{"style":503},[615],{"type":21,"value":474},{"type":16,"tag":96,"props":617,"children":618},{"style":508},[619],{"type":21,"value":511},{"type":16,"tag":96,"props":621,"children":622},{"style":508},[623],{"type":21,"value":624}," \"…\"",{"type":16,"tag":96,"props":626,"children":627},{"style":519},[628],{"type":21,"value":629}," --workflow",{"type":16,"tag":96,"props":631,"children":632},{"style":508},[633],{"type":21,"value":634}," security-first",{"type":16,"tag":96,"props":636,"children":637},{"style":525},[638],{"type":21,"value":639},"               # name a workflow\n",{"type":16,"tag":96,"props":641,"children":643},{"class":98,"line":642},6,[644,648,653],{"type":16,"tag":96,"props":645,"children":646},{"style":503},[647],{"type":21,"value":474},{"type":16,"tag":96,"props":649,"children":650},{"style":508},[651],{"type":21,"value":652}," workflows",{"type":16,"tag":96,"props":654,"children":655},{"style":508},[656],{"type":21,"value":657}," list\n",{"type":16,"tag":96,"props":659,"children":661},{"class":98,"line":660},7,[662,666,670,675],{"type":16,"tag":96,"props":663,"children":664},{"style":503},[665],{"type":21,"value":474},{"type":16,"tag":96,"props":667,"children":668},{"style":508},[669],{"type":21,"value":652},{"type":16,"tag":96,"props":671,"children":672},{"style":508},[673],{"type":21,"value":674}," explain",{"type":16,"tag":96,"props":676,"children":677},{"style":508},[678],{"type":21,"value":679}," standard-feature\n",{"type":16,"tag":136,"props":681,"children":683},{"type":682},"tip",[684],{"type":16,"tag":17,"props":685,"children":686},{},[687,692,693,699,701,707],{"type":16,"tag":24,"props":688,"children":689},{},[690],{"type":21,"value":691},"Explore = rival approaches, side by side.",{"type":21,"value":148},{"type":16,"tag":92,"props":694,"children":696},{"className":695},[],[697],{"type":21,"value":698},"--explore",{"type":21,"value":700}," (or ",{"type":16,"tag":92,"props":702,"children":704},{"className":703},[],[705],{"type":21,"value":706},"\u002Fexplore",{"type":21,"value":708},") fans out several candidate implementations in parallel (one per worktree), then compares diffs, tests and cost so you pick the winner — or fork a new run from the best.",{"type":16,"tag":61,"props":710,"children":712},{"id":711},"orchestration-parallel-agents-verified",[713],{"type":21,"value":714},"Orchestration — parallel agents, verified",{"type":16,"tag":17,"props":716,"children":717},{},[718],{"type":21,"value":719},"Bigger work fans out on its own — the planner sizes the shape itself — but you can drive it:",{"type":16,"tag":721,"props":722,"children":723},"ul",{},[724,763,833,874],{"type":16,"tag":725,"props":726,"children":727},"li",{},[728,733,735,741,742,748,750,755,757,761],{"type":16,"tag":24,"props":729,"children":730},{},[731],{"type":21,"value":732},"Swarm",{"type":21,"value":734}," (",{"type":16,"tag":92,"props":736,"children":738},{"className":737},[],[739],{"type":21,"value":740},"swarm",{"type":21,"value":156},{"type":16,"tag":92,"props":743,"children":745},{"className":744},[],[746],{"type":21,"value":747},"\u002Fswarm",{"type":21,"value":749},") — independent subtasks run as parallel agents in isolated git worktrees, then fan in. The merged tree is ",{"type":16,"tag":24,"props":751,"children":752},{},[753],{"type":21,"value":754},"verified against ground truth",{"type":21,"value":756}," (your tests + an adversarial review mesh) ",{"type":16,"tag":39,"props":758,"children":759},{},[760],{"type":21,"value":132},{"type":21,"value":762}," it touches your code; textual conflicts 3-way-merge, a shared budget binds across lanes, and an exhausted lane can self-heal once.",{"type":16,"tag":725,"props":764,"children":765},{},[766,771,773,779,780,786,788,794,796,802,803,809,810,816,818,824,825,831],{"type":16,"tag":24,"props":767,"children":768},{},[769],{"type":21,"value":770},"Authored specs",{"type":21,"value":772}," — commit a deterministic DAG in ",{"type":16,"tag":92,"props":774,"children":776},{"className":775},[],[777],{"type":21,"value":778},".excalibur\u002Forchestrations\u002F\u003Cname>.yaml",{"type":21,"value":734},{"type":16,"tag":92,"props":781,"children":783},{"className":782},[],[784],{"type":21,"value":785},"dependsOn",{"type":21,"value":787}," waves, per-step ",{"type":16,"tag":92,"props":789,"children":791},{"className":790},[],[792],{"type":21,"value":793},"role",{"type":21,"value":795}," \u002F ",{"type":16,"tag":92,"props":797,"children":799},{"className":798},[],[800],{"type":21,"value":801},"when",{"type":21,"value":795},{"type":16,"tag":92,"props":804,"children":806},{"className":805},[],[807],{"type":21,"value":808},"maxAttempts",{"type":21,"value":795},{"type":16,"tag":92,"props":811,"children":813},{"className":812},[],[814],{"type":21,"value":815},"outputSchema",{"type":21,"value":817},") and run it with ",{"type":16,"tag":92,"props":819,"children":821},{"className":820},[],[822],{"type":21,"value":823},"excalibur orchestrate --spec \u003Cname>",{"type":21,"value":734},{"type":16,"tag":92,"props":826,"children":828},{"className":827},[],[829],{"type":21,"value":830},"--resume",{"type":21,"value":832}," re-runs only the edited steps).",{"type":16,"tag":725,"props":834,"children":835},{},[836,841,843,849,851,858,860,865,867,872],{"type":16,"tag":24,"props":837,"children":838},{},[839],{"type":21,"value":840},"Chronogram",{"type":21,"value":842}," — watch any orchestration as a live wave\u002FDAG timeline (",{"type":16,"tag":92,"props":844,"children":846},{"className":845},[],[847],{"type":21,"value":848},"excalibur orchestration",{"type":21,"value":850},", also in the ",{"type":16,"tag":852,"props":853,"children":855},"a",{"href":854},"\u002Fdocs\u002Fdashboard",[856],{"type":21,"value":857},"dashboard",{"type":21,"value":859},"): ",{"type":16,"tag":24,"props":861,"children":862},{},[863],{"type":21,"value":864},"pause \u002F resume",{"type":21,"value":866}," mid-flight, with a ",{"type":16,"tag":24,"props":868,"children":869},{},[870],{"type":21,"value":871},"time-travel",{"type":21,"value":873}," scrubber to replay it.",{"type":16,"tag":725,"props":875,"children":876},{},[877,882,884,890,892,897,899,905,907,913],{"type":16,"tag":24,"props":878,"children":879},{},[880],{"type":21,"value":881},"Schedule & background",{"type":21,"value":883}," — run a task on a cadence (",{"type":16,"tag":92,"props":885,"children":887},{"className":886},[],[888],{"type":21,"value":889},"excalibur schedule add \"every 2h\" \"…\"",{"type":21,"value":891},", or just say ",{"type":16,"tag":39,"props":893,"children":894},{},[895],{"type":21,"value":896},"\"every morning run the tests\"",{"type":21,"value":898},"), or send it to the background (",{"type":16,"tag":92,"props":900,"children":902},{"className":901},[],[903],{"type":21,"value":904},"\u002Fbg",{"type":21,"value":906}," + ",{"type":16,"tag":92,"props":908,"children":910},{"className":909},[],[911],{"type":21,"value":912},"\u002Fthreads",{"type":21,"value":914},") where a supervisor reacts when it finishes.",{"type":16,"tag":61,"props":916,"children":918},{"id":917},"customize-everything-in-yaml",[919],{"type":21,"value":920},"Customize everything in YAML",{"type":16,"tag":17,"props":922,"children":923},{},[924],{"type":21,"value":925},"Extend a built-in or define your own. Every phase, gate and role is editable:",{"type":16,"tag":86,"props":927,"children":931},{"className":928,"code":929,"language":930,"meta":7,"style":7},"language-yaml shiki shiki-themes github-light","# .excalibur\u002Fworkflows\u002Fsecure-feature.yaml\nname: Secure Feature\nextends: structured-feature\nmethodology: security-first\nphases:\n  - plan\n  - implement\n  - verify\n  - security-review        # added gate\n  - document\n  - review\napprovals:\n  - sensitive-paths        # require a human on sensitive files\nagents: auto               # 'auto' sizes the swarm; a number caps it\n","yaml",[932],{"type":16,"tag":92,"props":933,"children":934},{"__ignoreMap":7},[935,943,963,980,996,1009,1022,1034,1047,1065,1078,1091,1104,1122],{"type":16,"tag":96,"props":936,"children":937},{"class":98,"line":99},[938],{"type":16,"tag":96,"props":939,"children":940},{"style":525},[941],{"type":21,"value":942},"# .excalibur\u002Fworkflows\u002Fsecure-feature.yaml\n",{"type":16,"tag":96,"props":944,"children":945},{"class":98,"line":108},[946,952,958],{"type":16,"tag":96,"props":947,"children":949},{"style":948},"--shiki-default:#22863A",[950],{"type":21,"value":951},"name",{"type":16,"tag":96,"props":953,"children":955},{"style":954},"--shiki-default:#24292E",[956],{"type":21,"value":957},": ",{"type":16,"tag":96,"props":959,"children":960},{"style":508},[961],{"type":21,"value":962},"Secure Feature\n",{"type":16,"tag":96,"props":964,"children":965},{"class":98,"line":10},[966,971,975],{"type":16,"tag":96,"props":967,"children":968},{"style":948},[969],{"type":21,"value":970},"extends",{"type":16,"tag":96,"props":972,"children":973},{"style":954},[974],{"type":21,"value":957},{"type":16,"tag":96,"props":976,"children":977},{"style":508},[978],{"type":21,"value":979},"structured-feature\n",{"type":16,"tag":96,"props":981,"children":982},{"class":98,"line":583},[983,987,991],{"type":16,"tag":96,"props":984,"children":985},{"style":948},[986],{"type":21,"value":35},{"type":16,"tag":96,"props":988,"children":989},{"style":954},[990],{"type":21,"value":957},{"type":16,"tag":96,"props":992,"children":993},{"style":508},[994],{"type":21,"value":995},"security-first\n",{"type":16,"tag":96,"props":997,"children":998},{"class":98,"line":610},[999,1004],{"type":16,"tag":96,"props":1000,"children":1001},{"style":948},[1002],{"type":21,"value":1003},"phases",{"type":16,"tag":96,"props":1005,"children":1006},{"style":954},[1007],{"type":21,"value":1008},":\n",{"type":16,"tag":96,"props":1010,"children":1011},{"class":98,"line":642},[1012,1017],{"type":16,"tag":96,"props":1013,"children":1014},{"style":954},[1015],{"type":21,"value":1016},"  - ",{"type":16,"tag":96,"props":1018,"children":1019},{"style":508},[1020],{"type":21,"value":1021},"plan\n",{"type":16,"tag":96,"props":1023,"children":1024},{"class":98,"line":660},[1025,1029],{"type":16,"tag":96,"props":1026,"children":1027},{"style":954},[1028],{"type":21,"value":1016},{"type":16,"tag":96,"props":1030,"children":1031},{"style":508},[1032],{"type":21,"value":1033},"implement\n",{"type":16,"tag":96,"props":1035,"children":1037},{"class":98,"line":1036},8,[1038,1042],{"type":16,"tag":96,"props":1039,"children":1040},{"style":954},[1041],{"type":21,"value":1016},{"type":16,"tag":96,"props":1043,"children":1044},{"style":508},[1045],{"type":21,"value":1046},"verify\n",{"type":16,"tag":96,"props":1048,"children":1050},{"class":98,"line":1049},9,[1051,1055,1060],{"type":16,"tag":96,"props":1052,"children":1053},{"style":954},[1054],{"type":21,"value":1016},{"type":16,"tag":96,"props":1056,"children":1057},{"style":508},[1058],{"type":21,"value":1059},"security-review",{"type":16,"tag":96,"props":1061,"children":1062},{"style":525},[1063],{"type":21,"value":1064},"        # added gate\n",{"type":16,"tag":96,"props":1066,"children":1068},{"class":98,"line":1067},10,[1069,1073],{"type":16,"tag":96,"props":1070,"children":1071},{"style":954},[1072],{"type":21,"value":1016},{"type":16,"tag":96,"props":1074,"children":1075},{"style":508},[1076],{"type":21,"value":1077},"document\n",{"type":16,"tag":96,"props":1079,"children":1081},{"class":98,"line":1080},11,[1082,1086],{"type":16,"tag":96,"props":1083,"children":1084},{"style":954},[1085],{"type":21,"value":1016},{"type":16,"tag":96,"props":1087,"children":1088},{"style":508},[1089],{"type":21,"value":1090},"review\n",{"type":16,"tag":96,"props":1092,"children":1094},{"class":98,"line":1093},12,[1095,1100],{"type":16,"tag":96,"props":1096,"children":1097},{"style":948},[1098],{"type":21,"value":1099},"approvals",{"type":16,"tag":96,"props":1101,"children":1102},{"style":954},[1103],{"type":21,"value":1008},{"type":16,"tag":96,"props":1105,"children":1107},{"class":98,"line":1106},13,[1108,1112,1117],{"type":16,"tag":96,"props":1109,"children":1110},{"style":954},[1111],{"type":21,"value":1016},{"type":16,"tag":96,"props":1113,"children":1114},{"style":508},[1115],{"type":21,"value":1116},"sensitive-paths",{"type":16,"tag":96,"props":1118,"children":1119},{"style":525},[1120],{"type":21,"value":1121},"        # require a human on sensitive files\n",{"type":16,"tag":96,"props":1123,"children":1125},{"class":98,"line":1124},14,[1126,1131,1135,1140],{"type":16,"tag":96,"props":1127,"children":1128},{"style":948},[1129],{"type":21,"value":1130},"agents",{"type":16,"tag":96,"props":1132,"children":1133},{"style":954},[1134],{"type":21,"value":957},{"type":16,"tag":96,"props":1136,"children":1137},{"style":508},[1138],{"type":21,"value":1139},"auto",{"type":16,"tag":96,"props":1141,"children":1142},{"style":525},[1143],{"type":21,"value":1144},"               # 'auto' sizes the swarm; a number caps it\n",{"type":16,"tag":17,"props":1146,"children":1147},{},[1148],{"type":21,"value":1149},"Set defaults per task type so the right workflow is picked automatically:",{"type":16,"tag":86,"props":1151,"children":1153},{"className":928,"code":1152,"language":930,"meta":7,"style":7},"# .excalibur\u002Fconfig.yaml\nworkflowDefaults:\n  bugfix: fast-fix\n  feature: standard-feature\n  migration: migration\n  ambiguous: discovery\n",[1154],{"type":16,"tag":92,"props":1155,"children":1156},{"__ignoreMap":7},[1157,1165,1177,1194,1211,1228],{"type":16,"tag":96,"props":1158,"children":1159},{"class":98,"line":99},[1160],{"type":16,"tag":96,"props":1161,"children":1162},{"style":525},[1163],{"type":21,"value":1164},"# .excalibur\u002Fconfig.yaml\n",{"type":16,"tag":96,"props":1166,"children":1167},{"class":98,"line":108},[1168,1173],{"type":16,"tag":96,"props":1169,"children":1170},{"style":948},[1171],{"type":21,"value":1172},"workflowDefaults",{"type":16,"tag":96,"props":1174,"children":1175},{"style":954},[1176],{"type":21,"value":1008},{"type":16,"tag":96,"props":1178,"children":1179},{"class":98,"line":10},[1180,1185,1189],{"type":16,"tag":96,"props":1181,"children":1182},{"style":948},[1183],{"type":21,"value":1184},"  bugfix",{"type":16,"tag":96,"props":1186,"children":1187},{"style":954},[1188],{"type":21,"value":957},{"type":16,"tag":96,"props":1190,"children":1191},{"style":508},[1192],{"type":21,"value":1193},"fast-fix\n",{"type":16,"tag":96,"props":1195,"children":1196},{"class":98,"line":583},[1197,1202,1206],{"type":16,"tag":96,"props":1198,"children":1199},{"style":948},[1200],{"type":21,"value":1201},"  feature",{"type":16,"tag":96,"props":1203,"children":1204},{"style":954},[1205],{"type":21,"value":957},{"type":16,"tag":96,"props":1207,"children":1208},{"style":508},[1209],{"type":21,"value":1210},"standard-feature\n",{"type":16,"tag":96,"props":1212,"children":1213},{"class":98,"line":610},[1214,1219,1223],{"type":16,"tag":96,"props":1215,"children":1216},{"style":948},[1217],{"type":21,"value":1218},"  migration",{"type":16,"tag":96,"props":1220,"children":1221},{"style":954},[1222],{"type":21,"value":957},{"type":16,"tag":96,"props":1224,"children":1225},{"style":508},[1226],{"type":21,"value":1227},"migration\n",{"type":16,"tag":96,"props":1229,"children":1230},{"class":98,"line":642},[1231,1236,1240],{"type":16,"tag":96,"props":1232,"children":1233},{"style":948},[1234],{"type":21,"value":1235},"  ambiguous",{"type":16,"tag":96,"props":1237,"children":1238},{"style":954},[1239],{"type":21,"value":957},{"type":16,"tag":96,"props":1241,"children":1242},{"style":508},[1243],{"type":21,"value":1244},"discovery\n",{"type":16,"tag":17,"props":1246,"children":1247},{},[1248,1250,1256,1258,1264],{"type":21,"value":1249},"Run ",{"type":16,"tag":92,"props":1251,"children":1253},{"className":1252},[],[1254],{"type":21,"value":1255},"excalibur init --full",{"type":21,"value":1257}," to export the full built-in catalog as editable files. The complete schema (phases, roles, scoring, question packs) lives in ",{"type":16,"tag":852,"props":1259,"children":1261},{"href":1260},"\u002Fdocs\u002Fextensions",[1262],{"type":21,"value":1263},"Extensions",{"type":21,"value":458},{"type":16,"tag":61,"props":1266,"children":1268},{"id":1267},"next",[1269],{"type":21,"value":1270},"Next",{"type":16,"tag":721,"props":1272,"children":1273},{},[1274,1288,1301],{"type":16,"tag":725,"props":1275,"children":1276},{},[1277,1286],{"type":16,"tag":24,"props":1278,"children":1279},{},[1280],{"type":16,"tag":852,"props":1281,"children":1283},{"href":1282},"\u002Fdocs\u002Fautonomy-levels",[1284],{"type":21,"value":1285},"Autonomy levels",{"type":21,"value":1287}," — how far each phase is allowed to go.",{"type":16,"tag":725,"props":1289,"children":1290},{},[1291,1299],{"type":16,"tag":24,"props":1292,"children":1293},{},[1294],{"type":16,"tag":852,"props":1295,"children":1297},{"href":1296},"\u002Fdocs\u002Fdiscovery",[1298],{"type":21,"value":412},{"type":21,"value":1300}," — the decide-before-you-build gate.",{"type":16,"tag":725,"props":1302,"children":1303},{},[1304,1313],{"type":16,"tag":24,"props":1305,"children":1306},{},[1307],{"type":16,"tag":852,"props":1308,"children":1310},{"href":1309},"\u002Fdocs\u002Fcommands",[1311],{"type":21,"value":1312},"Command reference",{"type":21,"value":1314}," — every workflow command.",{"type":16,"tag":1316,"props":1317,"children":1318},"style",{},[1319],{"type":21,"value":1320},"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);}",{"title":7,"searchDepth":108,"depth":108,"links":1322},[1323,1324,1325,1326,1327,1328],{"id":63,"depth":108,"text":66},{"id":242,"depth":108,"text":245},{"id":461,"depth":108,"text":464},{"id":711,"depth":108,"text":714},{"id":917,"depth":108,"text":920},{"id":1267,"depth":108,"text":1270},"markdown","content:docs:workflows.md","content","docs\u002Fworkflows.md","docs\u002Fworkflows","md",[1336,1339],{"_path":1337,"title":1338,"order":108},"\u002Fdocs\u002Fthe-m-shell","The m-shell",{"_path":1340,"title":1341,"order":583},"\u002Fdocs\u002Fmissions","Missions",[1343,1347,1349,1350,1351,1352,1354,1355,1356,1360,1363,1366,1368],{"_path":1344,"title":1345,"order":99,"group":1346},"\u002Fdocs\u002Fgetting-started","Getting started","Get started",{"_path":1309,"title":1312,"order":1067,"group":1348},"Reference",{"_path":1337,"title":1338,"order":108,"group":1346},{"_path":4,"title":8,"order":10,"group":11},{"_path":1340,"title":1341,"order":583,"group":11},{"_path":854,"title":1353,"order":610,"group":11},"Dashboard",{"_path":1282,"title":1285,"order":642,"group":11},{"_path":1296,"title":412,"order":660,"group":11},{"_path":1357,"title":1358,"order":660,"group":1359},"\u002Fdocs\u002Fsafety","Safety","Govern",{"_path":1361,"title":1362,"order":1036,"group":1359},"\u002Fdocs\u002Fenterprise","Enterprise",{"_path":1364,"title":1365,"order":1036,"group":11},"\u002Fdocs\u002Fproviders","Models & providers",{"_path":1260,"title":1263,"order":1049,"group":1367},"Extend",{"_path":1369,"title":1370,"order":1049,"group":11},"\u002Fdocs\u002Fweb-research","Web & research",1782492858016]