olympus-ai 4.5.0 → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +1 -1
- package/dist/features/workflow-engine/engine.d.ts.map +1 -1
- package/dist/features/workflow-engine/engine.js +5 -0
- package/dist/features/workflow-engine/engine.js.map +1 -1
- package/dist/hooks/olympus-hooks.cjs +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +1 -1
- package/package.json +1 -1
- package/resources/rules/common/welcome-message.md +12 -3
- package/resources/rules/inception/requirements-analysis.md +65 -7
- package/resources/rules/inception/units-generation.md +55 -0
- package/resources/rules/inception/user-stories.md +38 -1
- package/resources/skills/plan/SKILL.md +29 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAEL,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AASpB,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,kBAAkB,CAAC;AAoB5E;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAEL,aAAa,EACb,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AASpB,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,kBAAkB,CAAC;AAoB5E;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAqD9D;AAkBD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAA6B;IAErD;;;;;OAKG;gBACS,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAMpD;;;;;OAKG;IACG,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkJjD;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAkG/B;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAmC9B;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCvD;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAgClD;;;;;;;;;OASG;IACG,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;YA2QzC,gBAAgB;IAmBxB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C9D;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;OAOG;YACW,kBAAkB;IA0PhC;;;;OAIG;YACW,gBAAgB;YAMhB,0BAA0B;CAKzC"}
|
|
@@ -50,6 +50,11 @@ const LEADING_VERB_PHRASES = [
|
|
|
50
50
|
*/
|
|
51
51
|
export function deriveWorkflowSlug(featureName) {
|
|
52
52
|
let text = featureName.trim();
|
|
53
|
+
// If input looks like a file path, extract just the filename stem
|
|
54
|
+
if (text.includes('/') || text.includes('\\')) {
|
|
55
|
+
const basename = text.split(/[/\\]/).pop() || text;
|
|
56
|
+
text = basename;
|
|
57
|
+
}
|
|
53
58
|
text = text.replace(/\.[a-z]{1,4}$/i, '');
|
|
54
59
|
const sortedVerbs = [...LEADING_VERB_PHRASES].sort((a, b) => b.length - a.length);
|
|
55
60
|
for (const verb of sortedVerbs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1138,7 +1138,7 @@ ${o}`:r||o||""}function La(e,t){return`# AI-DLC Workflow Rules (Olympus-Native)
|
|
|
1138
1138
|
|
|
1139
1139
|
All workflow stages, agent delegation, directory layout, and rules are defined in the
|
|
1140
1140
|
global \`~/.claude/CLAUDE.md\` (installed by Olympus). This block only tracks the active
|
|
1141
|
-
workflow identity \u2014 do NOT search for a separate core-workflow.md file.`}var yC=["set up","build out","roll out","hook up","wire up","spin up","build","create","add","implement","design","make","develop","configure","integrate","fix","update","refactor","migrate","deploy","setup","establish","introduce","enable","write","construct","generate","define","prepare"];function Ya(e){let t=e.trim();t=t.replace(/\.[a-z]{1,4}$/i,"");let n=[...yC].sort((s,i)=>i.length-s.length);for(let s of n){let i=new RegExp(`^${s}\\s+`,"i");if(i.test(t)){t=t.replace(i,"");break}}t=t.replace(/^(?:a|an|the)\s+/i,"");let r=t.replace(/\s+(?:for|with|using|via|in|to|on|at|from|into|across|through|about|of)\s+.+$/i,"").trim();r.length>0&&(t=r);let o=t.toLowerCase().replace(/[_\s]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,"");if(o.length>40){let s=o.substring(0,40),i=s.lastIndexOf("-");o=i>0?s.substring(0,i):s,o=o.replace(/-$/,"")}if(!o)throw new Error("Feature name produced an empty workflow ID after sanitization");if(o==="completed")throw new Error("'completed' is a reserved directory name and cannot be used as a workflow ID");return o}var qa=["intent","unit","code-generation","complete"];function wC(e){let t=qa.indexOf(e);return t===-1||t>=qa.length-1?"complete":qa[t+1]}var Ss=class{projectPath;featureName;workflowId;interruptHandler=null;constructor(t,n){this.projectPath=t,this.featureName=n,this.workflowId=Ya(n)}async start(t){let n={schema_version:"3.0.0",workflow_id:this.workflowId,feature_name:this.featureName,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_phase:"inception",current_stage:"intent",status:"in_progress",origin:"hook-init",phases:{discovery:{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null},inception:{status:"in_progress",started_at:new Date().toISOString(),completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null},construction:{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null},operations:{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null}},manifest_path:`aidlc-docs/${this.workflowId}/manifest.json`,trust_state_path:".olympus/trust-state.json",resume_context:{initial_prompt:t}};try{await $p(this.projectPath,this.workflowId)}catch(o){let s=o;throw console.error(`[WorkflowEngine] Failed to initialize workflow directory: ${s.message}`),new Error(`Failed to start workflow: Could not create directory structure - ${s.message}`)}let r=$n.join(this.projectPath,"aidlc-docs",this.workflowId,"manifest.json");if(!ge.existsSync(r))try{Vi(this.workflowId,this.featureName,this.projectPath)}catch(o){console.warn(`[WorkflowEngine] Failed to create manifest: ${o.message}`)}try{await A(this.projectPath,n)}catch(o){let s=o;throw console.error(`[WorkflowEngine] Failed to save initial checkpoint: ${s.message}`),new Error(`Failed to start workflow: Could not save checkpoint - ${s.message}`)}try{let s=(await Rn(this.projectPath)).sourceFileCount??0,i=await xa(this.projectPath,t),a=ws(t),c=await Aa({projectPath:this.projectPath,workflowId:this.workflowId,intentText:t,depthAssessment:a,pathwayType:i,sourceFileCount:s}),l=await as(this.projectPath,this.workflowId,c),u=await I(this.projectPath,this.workflowId);if(u){u.workflow_routing_path=l,u.pathway_type=i;let d=["discovery","inception","construction","operations"];u.skipped_phases=d.filter(p=>!cs(c,p)),await A(this.projectPath,u)}if(console.log(`[WorkflowEngine] Generated Workflow Routing: pathway=${i}, depth=${c.estimated_depth}, bolts=${c.estimated_bolts}`),c.stages.some(d=>!d.included)){let d=c.stages.filter(p=>!p.included).map(p=>`${p.phase}/${p.stage}`);console.log(`[WorkflowEngine] Stages excluded by plan: ${d.join(", ")}`)}}catch(o){console.warn(`[WorkflowEngine] Failed to generate Workflow Routing: ${o.message}`),console.warn("[WorkflowEngine] Workflow will proceed without adaptive phase selection")}try{let s=(await I(this.projectPath,this.workflowId))?.pathway_type;if(!s){let{isBrownfield:u}=await Rn(this.projectPath);s=u?"brownfield-enhancement":"greenfield"}let i=$n.join(this.projectPath,".claude","CLAUDE.md"),a=ge.existsSync(i)?ge.readFileSync(i,"utf-8"):"",c=La(this.workflowId,s),l=Ma(a,c);ge.mkdirSync($n.join(this.projectPath,".claude"),{recursive:!0}),ge.writeFileSync(i,l,"utf-8"),console.log("[WorkflowEngine] Injected AI-DLC rules into .claude/CLAUDE.md")}catch(o){console.error("[WorkflowEngine] Failed to inject AI-DLC rules into CLAUDE.md:",o)}}async resume(){let t;try{t=await I(this.projectPath,this.workflowId)}catch(r){let o=r;throw console.error(`[WorkflowEngine] Failed to load checkpoint for resume: ${o.message}`),new Error(`Failed to resume workflow: Could not load checkpoint - ${o.message}`)}if(!t)throw console.error(`[WorkflowEngine] No checkpoint found for workflow: ${this.workflowId}`),console.error("[WorkflowEngine] Available workflows: Run 'olympus workflow list' to see workflows"),new Error(`No checkpoint found for workflow: ${this.workflowId}`);if(t.status==="complete")return"Workflow already complete";if(t.status==="paused"){t.status="in_progress";try{await A(this.projectPath,t)}catch(r){let o=r;throw console.error(`[WorkflowEngine] Failed to update checkpoint status: ${o.message}`),new Error(`Failed to resume workflow: Could not save checkpoint - ${o.message}`)}}try{let r=t.pathway_type;if(!r){let{isBrownfield:c}=await Rn(this.projectPath);r=c?"brownfield-enhancement":"greenfield"}let o=$n.join(this.projectPath,".claude","CLAUDE.md"),s=ge.existsSync(o)?ge.readFileSync(o,"utf-8"):"",i=La(this.workflowId,r),a=Ma(s,i);ge.mkdirSync($n.join(this.projectPath,".claude"),{recursive:!0}),ge.writeFileSync(o,a,"utf-8"),console.log("[WorkflowEngine] Injected AI-DLC rules into .claude/CLAUDE.md")}catch(r){console.error("[WorkflowEngine] Failed to inject AI-DLC rules into CLAUDE.md:",r)}this.setupInterruptHandler();let n=t.current_stage;try{await this.executeStage(n)}catch(r){let o=r;console.error(`[WorkflowEngine] Failed to execute ${n} stage: ${o.message}`);try{let s=await I(this.projectPath,this.workflowId);s&&(s.status="paused",s.resume_context={...s.resume_context,error_message:o.message,failed_stage:n},await A(this.projectPath,s),console.log("[WorkflowEngine] Workflow saved as paused. Fix the issue and resume with `/continue`"))}catch(s){console.warn("[WorkflowEngine] Failed to save error checkpoint:",s.message)}throw new Error(`Failed to execute ${n} stage: ${o.message}`)}finally{this.cleanupInterruptHandler()}return`Resumed workflow from stage: ${n}`}async pause(){let t;try{t=await I(this.projectPath,this.workflowId)}catch(n){let r=n;throw console.error(`[WorkflowEngine] Failed to load checkpoint for pause: ${r.message}`),new Error(`Failed to pause workflow: Could not load checkpoint - ${r.message}`)}if(!t)throw console.error(`[WorkflowEngine] No checkpoint found for workflow: ${this.workflowId}`),new Error(`No checkpoint found for workflow: ${this.workflowId}`);t.status="paused";try{await A(this.projectPath,t)}catch(n){let r=n;throw console.error(`[WorkflowEngine] Failed to save paused checkpoint: ${r.message}`),new Error(`Failed to pause workflow: Could not save checkpoint - ${r.message}`)}return`aidlc-docs/${this.workflowId}/checkpoint.json`}async executeStage(t){if(t==="complete")throw new Error("No execution for complete stage");let n=await I(this.projectPath,this.workflowId);if(!n)throw new Error(`No checkpoint found for workflow: ${this.workflowId}`);switch(t){case"intent":await this.executeIntentStage(n);break;case"unit":await this.executeUnitStage(n);break;case"code-generation":await this.executeCodeGenerationStage(n);break}let r=wC(t);n.current_stage=r,r==="complete"?await this.completeWorkflow(n):await A(this.projectPath,n)}async getStatus(){let t;try{t=await I(this.projectPath,this.workflowId)}catch(r){let o=r;throw console.error(`[WorkflowEngine] Failed to load checkpoint for status: ${o.message}`),new Error(`Failed to get workflow status: Could not load checkpoint - ${o.message}`)}if(!t)throw console.error(`[WorkflowEngine] No checkpoint found for workflow: ${this.workflowId}`),new Error(`No checkpoint found for workflow: ${this.workflowId}`);let n=[];return{workflow_id:t.workflow_id,feature_name:t.feature_name,current_stage:t.current_stage,status:t.status,artifacts:n,updated_at:t.updated_at}}async executePhase(t){let n=Xr(this.projectPath,this.workflowId);if(n&&!cs(n,t)){console.log(`[WorkflowEngine] Skipping ${t} phase (excluded by Workflow Routing: ${n.phases[t]?.rationale||"no rationale"})`);let r=await I(this.projectPath,this.workflowId);if(r){let s=r;s.phases&&s.phases[t]&&(s.phases[t].status="complete",s.phases[t].completed_at=new Date().toISOString(),s.phases[t].gate_bypassed=!0,s.phases[t].bypass_reason="Excluded by Workflow Routing"),await A(this.projectPath,r)}let o=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`;try{Fe(o,{phase:t,action:"bypassed",actor:"config",reason:`Excluded by Workflow Routing (pathway: ${n.pathway})`})}catch{}return}switch(t){case"discovery":{let r=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`,o=await um({projectPath:this.projectPath,workflowId:this.workflowId,featureName:this.featureName,manifestPath:r});o.gateRequired&&(console.log(`[WorkflowEngine] Discovery phase: ${o.artifactsGenerated.length} artifacts generated (${o.sourceFileCount} source files detected)`),console.log(`[WorkflowEngine] Discovery Gate: Review findings in aidlc-docs/${this.workflowId}/discovery/ before proceeding to Inception`));try{let s={type:"phase_complete",phase:"discovery",details:`${o.artifactsGenerated.length} artifacts generated, ${o.sourceFileCount} source files`},i={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"discovery"},a=qe(s,i);ue(a)}catch(s){console.error("[WorkflowEngine] Failed to capture discovery phase discovery:",s)}break}case"inception":{let{InceptionOrchestrator:r}=await Promise.resolve().then(()=>(hg(),gg)),o=new r,s=await I(this.projectPath,this.workflowId);if(!s)throw new Error(`No checkpoint found for workflow: ${this.workflowId}`);if(s.current_stage!=="intent"){console.log(`[WorkflowEngine] Skipping inception orchestrator \u2014 checkpoint already at stage '${s.current_stage}'`);break}if(!s.inception_stages){let i=Xr(this.projectPath,this.workflowId),a=s;await o.initialize(this.projectPath,this.workflowId,a.pathway_type||"greenfield",i)}for(;!await o.isComplete(this.projectPath,this.workflowId);){let i=await o.executeNextStage(this.projectPath,this.workflowId);if(i.status==="awaiting_answers"||i.status==="review_required")break}try{let i={type:"phase_complete",phase:"inception",details:"Inception stages completed"},a={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"inception"},c=qe(i,a);ue(c)}catch(i){console.error("[WorkflowEngine] Failed to capture inception phase discovery:",i)}break}case"construction":{let r=await I(this.projectPath,this.workflowId);if(r&&r.status==="awaiting_dev_review"){console.log("[WorkflowEngine] Waiting for developer review of technical specification (Risk Tier 3).");return}let o=lt(this.projectPath,this.workflowId,"intent"),s;try{s=ge.readFileSync(o,"utf-8")}catch{}let a=await new ys(this.projectPath,this.workflowId).execute(s);if(!a.passed)throw console.error("[WorkflowEngine] Construction phase validation failed:",a.blocking_issues),new Error(`Construction phase validation failed: ${a.blocking_issues.join(", ")}`);try{let c={type:"phase_complete",phase:"construction",details:"Construction phase completed"},l={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"construction"},u=qe(c,l);ue(u)}catch(c){console.error("[WorkflowEngine] Failed to capture construction phase discovery:",c)}break}case"operations":{let{generateOperationsArtifacts:r}=await Promise.resolve().then(()=>(bg(),vg)),{loadManifest:o,registerArtifact:s,updatePhaseStatus:i}=await Promise.resolve().then(()=>(Z(),vn)),a=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`,c=o(a),l=null;try{l=ge.readFileSync(lt(this.projectPath,this.workflowId,"intent"),"utf-8")}catch{}let u=await I(this.projectPath,this.workflowId),d="MEDIUM";if(c?.depth_assessment){let m=c.depth_assessment.total_score;m<=10?d="SHALLOW":m>=21&&(d="DEEP")}let p={workflowId:this.workflowId,featureName:this.featureName,manifest:c,specContent:l,buildLogContent:null,depthLevel:d},f=await r(p,this.projectPath);if(c){i(a,"operations","complete");for(let m of f.artifactsGenerated){let g=`aidlc-docs/${this.workflowId}/operations/${m}`,y=m.replace(/\.(md|json)$/,"").toUpperCase().replace(/-/g,"_");s(a,{id:`OPS-${y}`,type:y,phase:"operations",stage:"code-generation",path:g,validation_passed:!0,write_complete:!0,checksum:null})}}u&&(u.current_phase="operations",u.updated_at=new Date().toISOString(),await A(this.projectPath,u)),console.log(`[WorkflowEngine] Operations phase: Generated ${f.artifactsGenerated.length} artifacts (depth: ${d})`),console.log(`[WorkflowEngine] Operations artifacts: ${f.artifactsGenerated.join(", ")}`);try{let m={type:"phase_complete",phase:"operations",details:`${f.artifactsGenerated.length} artifacts generated (depth: ${d})`},g={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"operations"},y=qe(m,g);ue(y)}catch(m){console.error("[WorkflowEngine] Failed to capture operations phase discovery:",m)}break}}}async completeWorkflow(t){t.status="complete";try{let n=$n.join(this.projectPath,".claude","CLAUDE.md");if(ge.existsSync(n)){let r=ge.readFileSync(n,"utf-8"),o=cg(r);ge.writeFileSync(n,o,"utf-8"),console.log("[WorkflowEngine] Removed AI-DLC rules from .claude/CLAUDE.md (workflow complete)")}}catch(n){console.error("[WorkflowEngine] Failed to remove AI-DLC rules from CLAUDE.md:",n)}await A(this.projectPath,t),await Wi(this.projectPath,this.workflowId)}async approveWorkflowRouting(t){let n=Xr(this.projectPath,this.workflowId);if(!n)throw new Error(`No Workflow Routing found for workflow: ${this.workflowId}`);n.approved_at=new Date().toISOString(),n.approved_by="human",await as(this.projectPath,this.workflowId,n);let r=await I(this.projectPath,this.workflowId);if(r){let s=r;if(s.inception_stages?.["workflow-planning"]){let i=s.inception_stages["workflow-planning"];i.status!=="completed"&&i.status!=="skipped"&&(i.status="completed",i.completed_at=new Date().toISOString(),await A(this.projectPath,r))}}let o=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`;try{Fe(o,{phase:"inception",action:"approved",actor:"human",reason:t||"Workflow Routing approved"})}catch{}console.log("[WorkflowEngine] Workflow Routing approved")}setupInterruptHandler(){this.interruptHandler=async()=>{console.log(`
|
|
1141
|
+
workflow identity \u2014 do NOT search for a separate core-workflow.md file.`}var yC=["set up","build out","roll out","hook up","wire up","spin up","build","create","add","implement","design","make","develop","configure","integrate","fix","update","refactor","migrate","deploy","setup","establish","introduce","enable","write","construct","generate","define","prepare"];function Ya(e){let t=e.trim();(t.includes("/")||t.includes("\\"))&&(t=t.split(/[/\\]/).pop()||t),t=t.replace(/\.[a-z]{1,4}$/i,"");let n=[...yC].sort((s,i)=>i.length-s.length);for(let s of n){let i=new RegExp(`^${s}\\s+`,"i");if(i.test(t)){t=t.replace(i,"");break}}t=t.replace(/^(?:a|an|the)\s+/i,"");let r=t.replace(/\s+(?:for|with|using|via|in|to|on|at|from|into|across|through|about|of)\s+.+$/i,"").trim();r.length>0&&(t=r);let o=t.toLowerCase().replace(/[_\s]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,"");if(o.length>40){let s=o.substring(0,40),i=s.lastIndexOf("-");o=i>0?s.substring(0,i):s,o=o.replace(/-$/,"")}if(!o)throw new Error("Feature name produced an empty workflow ID after sanitization");if(o==="completed")throw new Error("'completed' is a reserved directory name and cannot be used as a workflow ID");return o}var qa=["intent","unit","code-generation","complete"];function wC(e){let t=qa.indexOf(e);return t===-1||t>=qa.length-1?"complete":qa[t+1]}var Ss=class{projectPath;featureName;workflowId;interruptHandler=null;constructor(t,n){this.projectPath=t,this.featureName=n,this.workflowId=Ya(n)}async start(t){let n={schema_version:"3.0.0",workflow_id:this.workflowId,feature_name:this.featureName,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),current_phase:"inception",current_stage:"intent",status:"in_progress",origin:"hook-init",phases:{discovery:{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null},inception:{status:"in_progress",started_at:new Date().toISOString(),completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null},construction:{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null},operations:{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null}},manifest_path:`aidlc-docs/${this.workflowId}/manifest.json`,trust_state_path:".olympus/trust-state.json",resume_context:{initial_prompt:t}};try{await $p(this.projectPath,this.workflowId)}catch(o){let s=o;throw console.error(`[WorkflowEngine] Failed to initialize workflow directory: ${s.message}`),new Error(`Failed to start workflow: Could not create directory structure - ${s.message}`)}let r=$n.join(this.projectPath,"aidlc-docs",this.workflowId,"manifest.json");if(!ge.existsSync(r))try{Vi(this.workflowId,this.featureName,this.projectPath)}catch(o){console.warn(`[WorkflowEngine] Failed to create manifest: ${o.message}`)}try{await A(this.projectPath,n)}catch(o){let s=o;throw console.error(`[WorkflowEngine] Failed to save initial checkpoint: ${s.message}`),new Error(`Failed to start workflow: Could not save checkpoint - ${s.message}`)}try{let s=(await Rn(this.projectPath)).sourceFileCount??0,i=await xa(this.projectPath,t),a=ws(t),c=await Aa({projectPath:this.projectPath,workflowId:this.workflowId,intentText:t,depthAssessment:a,pathwayType:i,sourceFileCount:s}),l=await as(this.projectPath,this.workflowId,c),u=await I(this.projectPath,this.workflowId);if(u){u.workflow_routing_path=l,u.pathway_type=i;let d=["discovery","inception","construction","operations"];u.skipped_phases=d.filter(p=>!cs(c,p)),await A(this.projectPath,u)}if(console.log(`[WorkflowEngine] Generated Workflow Routing: pathway=${i}, depth=${c.estimated_depth}, bolts=${c.estimated_bolts}`),c.stages.some(d=>!d.included)){let d=c.stages.filter(p=>!p.included).map(p=>`${p.phase}/${p.stage}`);console.log(`[WorkflowEngine] Stages excluded by plan: ${d.join(", ")}`)}}catch(o){console.warn(`[WorkflowEngine] Failed to generate Workflow Routing: ${o.message}`),console.warn("[WorkflowEngine] Workflow will proceed without adaptive phase selection")}try{let s=(await I(this.projectPath,this.workflowId))?.pathway_type;if(!s){let{isBrownfield:u}=await Rn(this.projectPath);s=u?"brownfield-enhancement":"greenfield"}let i=$n.join(this.projectPath,".claude","CLAUDE.md"),a=ge.existsSync(i)?ge.readFileSync(i,"utf-8"):"",c=La(this.workflowId,s),l=Ma(a,c);ge.mkdirSync($n.join(this.projectPath,".claude"),{recursive:!0}),ge.writeFileSync(i,l,"utf-8"),console.log("[WorkflowEngine] Injected AI-DLC rules into .claude/CLAUDE.md")}catch(o){console.error("[WorkflowEngine] Failed to inject AI-DLC rules into CLAUDE.md:",o)}}async resume(){let t;try{t=await I(this.projectPath,this.workflowId)}catch(r){let o=r;throw console.error(`[WorkflowEngine] Failed to load checkpoint for resume: ${o.message}`),new Error(`Failed to resume workflow: Could not load checkpoint - ${o.message}`)}if(!t)throw console.error(`[WorkflowEngine] No checkpoint found for workflow: ${this.workflowId}`),console.error("[WorkflowEngine] Available workflows: Run 'olympus workflow list' to see workflows"),new Error(`No checkpoint found for workflow: ${this.workflowId}`);if(t.status==="complete")return"Workflow already complete";if(t.status==="paused"){t.status="in_progress";try{await A(this.projectPath,t)}catch(r){let o=r;throw console.error(`[WorkflowEngine] Failed to update checkpoint status: ${o.message}`),new Error(`Failed to resume workflow: Could not save checkpoint - ${o.message}`)}}try{let r=t.pathway_type;if(!r){let{isBrownfield:c}=await Rn(this.projectPath);r=c?"brownfield-enhancement":"greenfield"}let o=$n.join(this.projectPath,".claude","CLAUDE.md"),s=ge.existsSync(o)?ge.readFileSync(o,"utf-8"):"",i=La(this.workflowId,r),a=Ma(s,i);ge.mkdirSync($n.join(this.projectPath,".claude"),{recursive:!0}),ge.writeFileSync(o,a,"utf-8"),console.log("[WorkflowEngine] Injected AI-DLC rules into .claude/CLAUDE.md")}catch(r){console.error("[WorkflowEngine] Failed to inject AI-DLC rules into CLAUDE.md:",r)}this.setupInterruptHandler();let n=t.current_stage;try{await this.executeStage(n)}catch(r){let o=r;console.error(`[WorkflowEngine] Failed to execute ${n} stage: ${o.message}`);try{let s=await I(this.projectPath,this.workflowId);s&&(s.status="paused",s.resume_context={...s.resume_context,error_message:o.message,failed_stage:n},await A(this.projectPath,s),console.log("[WorkflowEngine] Workflow saved as paused. Fix the issue and resume with `/continue`"))}catch(s){console.warn("[WorkflowEngine] Failed to save error checkpoint:",s.message)}throw new Error(`Failed to execute ${n} stage: ${o.message}`)}finally{this.cleanupInterruptHandler()}return`Resumed workflow from stage: ${n}`}async pause(){let t;try{t=await I(this.projectPath,this.workflowId)}catch(n){let r=n;throw console.error(`[WorkflowEngine] Failed to load checkpoint for pause: ${r.message}`),new Error(`Failed to pause workflow: Could not load checkpoint - ${r.message}`)}if(!t)throw console.error(`[WorkflowEngine] No checkpoint found for workflow: ${this.workflowId}`),new Error(`No checkpoint found for workflow: ${this.workflowId}`);t.status="paused";try{await A(this.projectPath,t)}catch(n){let r=n;throw console.error(`[WorkflowEngine] Failed to save paused checkpoint: ${r.message}`),new Error(`Failed to pause workflow: Could not save checkpoint - ${r.message}`)}return`aidlc-docs/${this.workflowId}/checkpoint.json`}async executeStage(t){if(t==="complete")throw new Error("No execution for complete stage");let n=await I(this.projectPath,this.workflowId);if(!n)throw new Error(`No checkpoint found for workflow: ${this.workflowId}`);switch(t){case"intent":await this.executeIntentStage(n);break;case"unit":await this.executeUnitStage(n);break;case"code-generation":await this.executeCodeGenerationStage(n);break}let r=wC(t);n.current_stage=r,r==="complete"?await this.completeWorkflow(n):await A(this.projectPath,n)}async getStatus(){let t;try{t=await I(this.projectPath,this.workflowId)}catch(r){let o=r;throw console.error(`[WorkflowEngine] Failed to load checkpoint for status: ${o.message}`),new Error(`Failed to get workflow status: Could not load checkpoint - ${o.message}`)}if(!t)throw console.error(`[WorkflowEngine] No checkpoint found for workflow: ${this.workflowId}`),new Error(`No checkpoint found for workflow: ${this.workflowId}`);let n=[];return{workflow_id:t.workflow_id,feature_name:t.feature_name,current_stage:t.current_stage,status:t.status,artifacts:n,updated_at:t.updated_at}}async executePhase(t){let n=Xr(this.projectPath,this.workflowId);if(n&&!cs(n,t)){console.log(`[WorkflowEngine] Skipping ${t} phase (excluded by Workflow Routing: ${n.phases[t]?.rationale||"no rationale"})`);let r=await I(this.projectPath,this.workflowId);if(r){let s=r;s.phases&&s.phases[t]&&(s.phases[t].status="complete",s.phases[t].completed_at=new Date().toISOString(),s.phases[t].gate_bypassed=!0,s.phases[t].bypass_reason="Excluded by Workflow Routing"),await A(this.projectPath,r)}let o=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`;try{Fe(o,{phase:t,action:"bypassed",actor:"config",reason:`Excluded by Workflow Routing (pathway: ${n.pathway})`})}catch{}return}switch(t){case"discovery":{let r=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`,o=await um({projectPath:this.projectPath,workflowId:this.workflowId,featureName:this.featureName,manifestPath:r});o.gateRequired&&(console.log(`[WorkflowEngine] Discovery phase: ${o.artifactsGenerated.length} artifacts generated (${o.sourceFileCount} source files detected)`),console.log(`[WorkflowEngine] Discovery Gate: Review findings in aidlc-docs/${this.workflowId}/discovery/ before proceeding to Inception`));try{let s={type:"phase_complete",phase:"discovery",details:`${o.artifactsGenerated.length} artifacts generated, ${o.sourceFileCount} source files`},i={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"discovery"},a=qe(s,i);ue(a)}catch(s){console.error("[WorkflowEngine] Failed to capture discovery phase discovery:",s)}break}case"inception":{let{InceptionOrchestrator:r}=await Promise.resolve().then(()=>(hg(),gg)),o=new r,s=await I(this.projectPath,this.workflowId);if(!s)throw new Error(`No checkpoint found for workflow: ${this.workflowId}`);if(s.current_stage!=="intent"){console.log(`[WorkflowEngine] Skipping inception orchestrator \u2014 checkpoint already at stage '${s.current_stage}'`);break}if(!s.inception_stages){let i=Xr(this.projectPath,this.workflowId),a=s;await o.initialize(this.projectPath,this.workflowId,a.pathway_type||"greenfield",i)}for(;!await o.isComplete(this.projectPath,this.workflowId);){let i=await o.executeNextStage(this.projectPath,this.workflowId);if(i.status==="awaiting_answers"||i.status==="review_required")break}try{let i={type:"phase_complete",phase:"inception",details:"Inception stages completed"},a={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"inception"},c=qe(i,a);ue(c)}catch(i){console.error("[WorkflowEngine] Failed to capture inception phase discovery:",i)}break}case"construction":{let r=await I(this.projectPath,this.workflowId);if(r&&r.status==="awaiting_dev_review"){console.log("[WorkflowEngine] Waiting for developer review of technical specification (Risk Tier 3).");return}let o=lt(this.projectPath,this.workflowId,"intent"),s;try{s=ge.readFileSync(o,"utf-8")}catch{}let a=await new ys(this.projectPath,this.workflowId).execute(s);if(!a.passed)throw console.error("[WorkflowEngine] Construction phase validation failed:",a.blocking_issues),new Error(`Construction phase validation failed: ${a.blocking_issues.join(", ")}`);try{let c={type:"phase_complete",phase:"construction",details:"Construction phase completed"},l={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"construction"},u=qe(c,l);ue(u)}catch(c){console.error("[WorkflowEngine] Failed to capture construction phase discovery:",c)}break}case"operations":{let{generateOperationsArtifacts:r}=await Promise.resolve().then(()=>(bg(),vg)),{loadManifest:o,registerArtifact:s,updatePhaseStatus:i}=await Promise.resolve().then(()=>(Z(),vn)),a=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`,c=o(a),l=null;try{l=ge.readFileSync(lt(this.projectPath,this.workflowId,"intent"),"utf-8")}catch{}let u=await I(this.projectPath,this.workflowId),d="MEDIUM";if(c?.depth_assessment){let m=c.depth_assessment.total_score;m<=10?d="SHALLOW":m>=21&&(d="DEEP")}let p={workflowId:this.workflowId,featureName:this.featureName,manifest:c,specContent:l,buildLogContent:null,depthLevel:d},f=await r(p,this.projectPath);if(c){i(a,"operations","complete");for(let m of f.artifactsGenerated){let g=`aidlc-docs/${this.workflowId}/operations/${m}`,y=m.replace(/\.(md|json)$/,"").toUpperCase().replace(/-/g,"_");s(a,{id:`OPS-${y}`,type:y,phase:"operations",stage:"code-generation",path:g,validation_passed:!0,write_complete:!0,checksum:null})}}u&&(u.current_phase="operations",u.updated_at=new Date().toISOString(),await A(this.projectPath,u)),console.log(`[WorkflowEngine] Operations phase: Generated ${f.artifactsGenerated.length} artifacts (depth: ${d})`),console.log(`[WorkflowEngine] Operations artifacts: ${f.artifactsGenerated.join(", ")}`);try{let m={type:"phase_complete",phase:"operations",details:`${f.artifactsGenerated.length} artifacts generated (depth: ${d})`},g={workflowId:this.workflowId,featureName:this.featureName,projectPath:this.projectPath,sessionId:"engine",phase:"operations"},y=qe(m,g);ue(y)}catch(m){console.error("[WorkflowEngine] Failed to capture operations phase discovery:",m)}break}}}async completeWorkflow(t){t.status="complete";try{let n=$n.join(this.projectPath,".claude","CLAUDE.md");if(ge.existsSync(n)){let r=ge.readFileSync(n,"utf-8"),o=cg(r);ge.writeFileSync(n,o,"utf-8"),console.log("[WorkflowEngine] Removed AI-DLC rules from .claude/CLAUDE.md (workflow complete)")}}catch(n){console.error("[WorkflowEngine] Failed to remove AI-DLC rules from CLAUDE.md:",n)}await A(this.projectPath,t),await Wi(this.projectPath,this.workflowId)}async approveWorkflowRouting(t){let n=Xr(this.projectPath,this.workflowId);if(!n)throw new Error(`No Workflow Routing found for workflow: ${this.workflowId}`);n.approved_at=new Date().toISOString(),n.approved_by="human",await as(this.projectPath,this.workflowId,n);let r=await I(this.projectPath,this.workflowId);if(r){let s=r;if(s.inception_stages?.["workflow-planning"]){let i=s.inception_stages["workflow-planning"];i.status!=="completed"&&i.status!=="skipped"&&(i.status="completed",i.completed_at=new Date().toISOString(),await A(this.projectPath,r))}}let o=`${this.projectPath}/aidlc-docs/${this.workflowId}/manifest.json`;try{Fe(o,{phase:"inception",action:"approved",actor:"human",reason:t||"Workflow Routing approved"})}catch{}console.log("[WorkflowEngine] Workflow Routing approved")}setupInterruptHandler(){this.interruptHandler=async()=>{console.log(`
|
|
1142
1142
|
[WorkflowEngine] Workflow interrupted - saving checkpoint...`);try{let t=await I(this.projectPath,this.workflowId);t&&(t.status="paused",t.updated_at=new Date().toISOString(),t.resume_context={...t.resume_context,interrupted_at:new Date().toISOString(),current_stage:t.current_stage,message:`Workflow interrupted during ${t.current_stage} stage`},await A(this.projectPath,t),console.log("[WorkflowEngine] Checkpoint saved. Resume with `/continue`"))}catch(t){console.error("[WorkflowEngine] Failed to save checkpoint on interrupt:",t)}process.exit(0)},process.on("SIGINT",this.interruptHandler)}cleanupInterruptHandler(){this.interruptHandler&&(process.off("SIGINT",this.interruptHandler),this.interruptHandler=null)}async executeIntentStage(t){let n=t.resume_context?.initial_prompt||"No initial prompt provided";console.log(`[WorkflowEngine] Executing INTENT stage for feature: ${this.featureName}`),console.log(`[WorkflowEngine] Initial prompt: ${n}`),console.log("[WorkflowEngine] Generating merged INTENT artifact with full inception content");let r=`intent-${this.workflowId}`,o=new Date().toISOString(),s=`---
|
|
1143
1143
|
id: ${r}
|
|
1144
1144
|
title: ${this.featureName}
|
|
@@ -24,7 +24,7 @@ export declare const HOOKS_DIR: string;
|
|
|
24
24
|
export declare const SETTINGS_FILE: string;
|
|
25
25
|
export declare const VERSION_FILE: string;
|
|
26
26
|
/** Current version - MUST match package.json */
|
|
27
|
-
export declare const VERSION = "4.5.
|
|
27
|
+
export declare const VERSION = "4.5.2";
|
|
28
28
|
/** Installation result */
|
|
29
29
|
export interface InstallResult {
|
|
30
30
|
success: boolean;
|
package/dist/installer/index.js
CHANGED
|
@@ -40,7 +40,7 @@ export const HOOKS_DIR = join(CLAUDE_CONFIG_DIR, 'hooks');
|
|
|
40
40
|
export const SETTINGS_FILE = join(CLAUDE_CONFIG_DIR, 'settings.json');
|
|
41
41
|
export const VERSION_FILE = join(CLAUDE_CONFIG_DIR, '.olympus-version.json');
|
|
42
42
|
/** Current version - MUST match package.json */
|
|
43
|
-
export const VERSION = '4.5.
|
|
43
|
+
export const VERSION = '4.5.2';
|
|
44
44
|
/**
|
|
45
45
|
* Read a content file from the resources/ directory.
|
|
46
46
|
*
|
package/package.json
CHANGED
|
@@ -47,8 +47,15 @@ AI-DLC is a structured yet flexible software development process that adapts to
|
|
|
47
47
|
║ - NFR Requirements Assess (COND) ║
|
|
48
48
|
║ - NFR Design (COND) ║
|
|
49
49
|
║ - Infrastructure Design (COND) ║
|
|
50
|
+
║ - Unit → Bolt Decomposition ║
|
|
51
|
+
║ ║
|
|
52
|
+
║ • Per-Bolt Loop (for each bolt): ║
|
|
53
|
+
║ - Elaboration (COND) ║
|
|
50
54
|
║ - Code Generation (ALWAYS) ║
|
|
51
|
-
║
|
|
55
|
+
║ - Build and Test (ALWAYS) ║
|
|
56
|
+
║ - Review (ALWAYS) ║
|
|
57
|
+
║ ║
|
|
58
|
+
║ • Final Build and Test (ALWAYS) ║
|
|
52
59
|
╚═══════════════════════════════════════╝
|
|
53
60
|
|
|
|
54
61
|
v
|
|
@@ -73,9 +80,11 @@ AI-DLC is a structured yet flexible software development process that adapts to
|
|
|
73
80
|
|
|
74
81
|
**CONSTRUCTION PHASE** - *Detailed Design, Implementation & Test*
|
|
75
82
|
- **Purpose**: Determines HOW to build it
|
|
76
|
-
- **Activities**: Detailed design (when needed), code generation
|
|
83
|
+
- **Activities**: Detailed design (when needed), unit decomposition into bolts, per-bolt code generation and testing
|
|
77
84
|
- **Output**: Working code, tests, build instructions
|
|
78
|
-
- **Your Role**: Review designs, approve
|
|
85
|
+
- **Your Role**: Review designs, approve bolt plans, validate results
|
|
86
|
+
|
|
87
|
+
> **What is a Bolt?** A bolt is the smallest unit of execution in AI-DLC — a focused implementation task (typically hours of work, not days). Each unit of work is decomposed into one or more bolts, and each bolt goes through its own lifecycle: **Elaboration** (detailed spec) → **Code Generation** → **Build and Test** → **Review**. Simple bolts run in *express mode*, skipping elaboration for faster delivery.
|
|
79
88
|
|
|
80
89
|
**OPERATIONS PHASE** - *Deployment & Monitoring (Future)*
|
|
81
90
|
- **Purpose**: How to DEPLOY and RUN it
|
|
@@ -182,16 +182,74 @@ When done, let me know and I will incorporate your approved findings into the re
|
|
|
182
182
|
### Step 7: Generate Requirements Document
|
|
183
183
|
- **PREREQUISITE**: Step 6 gate must be passed — all answers received and analyzed. If Step 6b applied, supplementary findings must also be reviewed.
|
|
184
184
|
- Create `aidlc-docs/{workflow-id}/inception/requirements/requirements.md`
|
|
185
|
-
-
|
|
186
|
-
|
|
187
|
-
|
|
185
|
+
- Begin with YAML frontmatter mirroring intent.md classification:
|
|
186
|
+
|
|
187
|
+
```yaml
|
|
188
|
+
---
|
|
189
|
+
workflow: "{workflow-id}"
|
|
190
|
+
pathway: "{greenfield|brownfield-enhancement|brownfield-refactor|bugfix|migration}"
|
|
191
|
+
scope: "{single-file|single-component|multi-component|system-wide|cross-system}"
|
|
192
|
+
complexity: "{trivial|simple|moderate|complex}"
|
|
193
|
+
depth: "{minimal|standard|comprehensive}"
|
|
194
|
+
status: draft
|
|
195
|
+
created: "{ISO-8601}"
|
|
196
|
+
---
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
- Include intent analysis summary after frontmatter:
|
|
200
|
+
- User request (verbatim or paraphrased)
|
|
201
|
+
- Request type classification
|
|
188
202
|
- Scope estimate
|
|
189
203
|
- Complexity estimate
|
|
190
|
-
- Include both functional and non-functional requirements
|
|
191
|
-
- Include scenario coverage when relevant (use cases, edge cases, error scenarios)
|
|
192
|
-
- Incorporate user's answers to clarifying questions
|
|
193
|
-
- Provide brief summary of key requirements
|
|
194
204
|
- **Do NOT include a User Stories section** — user stories with personas and acceptance criteria are generated in the dedicated User Stories stage
|
|
205
|
+
- Incorporate user's answers to clarifying questions
|
|
206
|
+
- If the requirements introduce 3+ domain-specific terms that aren't self-explanatory, append a `## Glossary` section defining them
|
|
207
|
+
|
|
208
|
+
#### Depth-Specific Content Guidance
|
|
209
|
+
|
|
210
|
+
The depth determined in Step 3 controls which sections to include and how much detail each receives:
|
|
211
|
+
|
|
212
|
+
**Minimal** (clear, simple requests):
|
|
213
|
+
- Intent analysis summary
|
|
214
|
+
- Functional requirements (concise list)
|
|
215
|
+
- Brief key requirements summary
|
|
216
|
+
- Coverage verification (expect most areas N/A with justification)
|
|
217
|
+
|
|
218
|
+
**Standard** (normal complexity):
|
|
219
|
+
- All Minimal sections, plus:
|
|
220
|
+
- Non-functional requirements
|
|
221
|
+
- Scenario coverage (key use cases and error scenarios)
|
|
222
|
+
- Coverage verification (expect most areas Covered)
|
|
223
|
+
|
|
224
|
+
**Comprehensive** (complex, high-risk):
|
|
225
|
+
- All Standard sections, plus:
|
|
226
|
+
- Detailed scenario coverage with edge cases and error scenarios
|
|
227
|
+
- Dedicated Business Context section
|
|
228
|
+
- Dedicated Technical Context section
|
|
229
|
+
- Coverage verification (ALL areas must be Covered or have justified Partial status)
|
|
230
|
+
|
|
231
|
+
#### 7b. Coverage Verification (MANDATORY)
|
|
232
|
+
|
|
233
|
+
Include a **Coverage Verification** section at the end of `requirements.md`. This maps directly to the six coverage areas evaluated in Step 5. Every area must be accounted for:
|
|
234
|
+
|
|
235
|
+
```markdown
|
|
236
|
+
## Coverage Verification
|
|
237
|
+
|
|
238
|
+
| Area | Status | Section | Notes |
|
|
239
|
+
|------|--------|---------|-------|
|
|
240
|
+
| Functional Requirements | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
241
|
+
| Non-Functional Requirements | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
242
|
+
| Scenario Coverage | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
243
|
+
| Business Context | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
244
|
+
| Technical Context | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
245
|
+
| Quality Attributes | {Covered/Partial/N-A} | {§ section ref} | {justification if Partial or N-A} |
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Rules**:
|
|
249
|
+
- **Covered**: The area has a dedicated section with substantive content
|
|
250
|
+
- **Partial**: The area is addressed but incomplete — the Notes column MUST explain what is missing and why
|
|
251
|
+
- **N-A**: The area does not apply to this workflow — the Notes column MUST justify the exclusion
|
|
252
|
+
- If any area is Partial, consider whether follow-up questions are needed before finalizing
|
|
195
253
|
|
|
196
254
|
### Step 8: MANDATORY: Update State Tracking
|
|
197
255
|
|
|
@@ -74,6 +74,7 @@ Unit boundaries define the scope of all subsequent design and code generation wo
|
|
|
74
74
|
- [ ] Generate `aidlc-docs/inception/application-design/unit-of-work.md` with unit definitions and responsibilities
|
|
75
75
|
- [ ] Generate `aidlc-docs/inception/application-design/unit-of-work-dependency.md` with dependency matrix
|
|
76
76
|
- [ ] Generate `aidlc-docs/inception/application-design/unit-of-work-story-map.md` mapping stories to units
|
|
77
|
+
- [ ] **Conditional** (complexity >= moderate AND units >= 3): Generate per-unit briefs in `aidlc-docs/inception/application-design/units/{unit-slug}/unit-brief.md`
|
|
77
78
|
- [ ] **Greenfield only**: Document code organization strategy in `unit-of-work.md` (see code-generation.md for structure patterns)
|
|
78
79
|
- [ ] Validate unit boundaries and dependencies
|
|
79
80
|
- [ ] Ensure all stories are assigned to units
|
|
@@ -163,9 +164,63 @@ If the analysis in step 7 reveals ANY ambiguous answers, you MUST:
|
|
|
163
164
|
- [ ] Save all generated artifacts
|
|
164
165
|
- **Do NOT proceed without completing state updates**
|
|
165
166
|
|
|
167
|
+
## Step 14b: Generate Unit Briefs (CONDITIONAL)
|
|
168
|
+
|
|
169
|
+
**Condition**: Generate unit briefs when complexity is `moderate` or `complex` AND the decomposition produced 3 or more units. If the condition is not met, skip to Step 15.
|
|
170
|
+
|
|
171
|
+
For each unit defined in `unit-of-work.md`, create a per-unit brief file:
|
|
172
|
+
|
|
173
|
+
**Path**: `aidlc-docs/{workflowId}/inception/application-design/units/{unit-slug}/unit-brief.md`
|
|
174
|
+
|
|
175
|
+
Where `{unit-slug}` follows the existing convention (e.g., `UNIT-001-foundation`).
|
|
176
|
+
|
|
177
|
+
```markdown
|
|
178
|
+
---
|
|
179
|
+
unit: "U-NNN"
|
|
180
|
+
intent: "{workflow-id}"
|
|
181
|
+
complexity: "{S|M|L|XL}"
|
|
182
|
+
status: draft
|
|
183
|
+
created: "{ISO-8601}"
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
# Unit Brief: U-NNN — {Name}
|
|
187
|
+
|
|
188
|
+
## Purpose and Scope
|
|
189
|
+
{What this unit handles. Explicit boundary — what is IN vs OUT of this unit relative to other units.}
|
|
190
|
+
|
|
191
|
+
## Requirements Mapping
|
|
192
|
+
| Requirement | Description | Coverage |
|
|
193
|
+
|-------------|-------------|----------|
|
|
194
|
+
| FR-1 | {description} | Covered / Partial |
|
|
195
|
+
|
|
196
|
+
## Key Domain Entities
|
|
197
|
+
| Entity | Description | Owned by this unit? |
|
|
198
|
+
|--------|-------------|---------------------|
|
|
199
|
+
| {Entity} | {description} | Yes / Shared with U-NNN |
|
|
200
|
+
|
|
201
|
+
## Technical Context
|
|
202
|
+
{Tech stack, integration points, data storage, and APIs relevant to this unit.
|
|
203
|
+
Reference existing system components if brownfield.}
|
|
204
|
+
|
|
205
|
+
## Dependencies
|
|
206
|
+
- **Depends on**: {list units this unit requires to be built first, or "None"}
|
|
207
|
+
- **Depended on by**: {list units that require this unit, or "None"}
|
|
208
|
+
|
|
209
|
+
## Success Criteria
|
|
210
|
+
- [ ] {Verifiable outcome specific to this unit}
|
|
211
|
+
- [ ] {Verifiable outcome specific to this unit}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
**Rules**:
|
|
215
|
+
- Unit briefs supplement, not replace, `unit-of-work.md` — the overview document remains the single index of all units
|
|
216
|
+
- Requirements Mapping must trace back to FRs in `requirements.md`
|
|
217
|
+
- Dependencies must be consistent with `unit-of-work-dependency.md`
|
|
218
|
+
- Keep briefs concise — detailed functional design happens in the Construction phase
|
|
219
|
+
|
|
166
220
|
## Step 15: Continue or Complete
|
|
167
221
|
- [ ] If more steps remain, return to Step 12
|
|
168
222
|
- [ ] If all steps complete, verify units are ready for design stages
|
|
223
|
+
- [ ] If unit briefs were generated (Step 14b), verify consistency across all briefs
|
|
169
224
|
- [ ] Mark Units Generation stage as complete
|
|
170
225
|
|
|
171
226
|
## Step 16: Present Completion Message
|
|
@@ -163,9 +163,46 @@ For medium priority cases, execute user stories if ANY of these apply:
|
|
|
163
163
|
- [ ] Generate stories.md with user stories following INVEST criteria
|
|
164
164
|
- [ ] Generate personas.md with user archetypes and characteristics
|
|
165
165
|
- [ ] Ensure stories are Independent, Negotiable, Valuable, Estimable, Small, Testable
|
|
166
|
-
- [ ] Include acceptance criteria for each story
|
|
166
|
+
- [ ] Include acceptance criteria for each story (Gherkin Given/When/Then format)
|
|
167
|
+
- [ ] Include edge cases for non-trivial stories
|
|
167
168
|
- [ ] Map personas to relevant user stories
|
|
168
169
|
|
|
170
|
+
### Story Naming Convention (MANDATORY)
|
|
171
|
+
|
|
172
|
+
All stories MUST use `S-NNN` IDs (zero-padded to three digits, sequential within the workflow). This is consistent with `U-NNN` for units and `BOLT-NNN` for bolts.
|
|
173
|
+
|
|
174
|
+
### Story Template (MANDATORY)
|
|
175
|
+
|
|
176
|
+
Each story in `stories.md` MUST follow this structure:
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
### S-NNN: {Story Title}
|
|
180
|
+
|
|
181
|
+
**Persona**: {persona name from personas.md}
|
|
182
|
+
**Priority**: {must | should | could}
|
|
183
|
+
|
|
184
|
+
> As a **{persona}**, I want **{capability}**, so that **{benefit}**.
|
|
185
|
+
|
|
186
|
+
#### Acceptance Criteria
|
|
187
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
188
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
189
|
+
|
|
190
|
+
#### Edge Cases
|
|
191
|
+
| Scenario | Expected Behavior |
|
|
192
|
+
|----------|-------------------|
|
|
193
|
+
| {edge case} | {what should happen} |
|
|
194
|
+
|
|
195
|
+
#### Dependencies
|
|
196
|
+
- Requires: {S-NNN or "None"}
|
|
197
|
+
- Enables: {S-NNN or "None"}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Rules**:
|
|
201
|
+
- Every story MUST have at least one Given/When/Then acceptance criterion
|
|
202
|
+
- Edge Cases table is MANDATORY for stories with priority `must`, optional for `should`/`could`
|
|
203
|
+
- Dependencies track inter-story ordering — use "None" when the story is independent
|
|
204
|
+
- Priority uses MoSCoW: `must` (required), `should` (important), `could` (nice-to-have)
|
|
205
|
+
|
|
169
206
|
## Step 5: Present Story Options
|
|
170
207
|
- Include different approaches for story breakdown in the plan document:
|
|
171
208
|
- **User Journey-Based**: Stories follow user workflows and interactions
|
|
@@ -121,6 +121,9 @@ Before generating questions, analyze the `/plan` input and extract what is alrea
|
|
|
121
121
|
- Infer the problem being solved
|
|
122
122
|
- Identify any mentioned personas or user types
|
|
123
123
|
- Note any explicit constraints or success criteria
|
|
124
|
+
- Infer business context (why now? what motivates this work?)
|
|
125
|
+
- Infer technical context (current system state, relevant technologies, integrations)
|
|
126
|
+
- Estimate priority (must/should/could) and complexity (trivial/simple/moderate/complex)
|
|
124
127
|
- Determine what is genuinely unclear or missing
|
|
125
128
|
|
|
126
129
|
### 3b. Generate intent-questions.md
|
|
@@ -137,7 +140,10 @@ Based on your description, I've inferred the following. Please correct anything
|
|
|
137
140
|
- **Problem**: {inferred problem statement}
|
|
138
141
|
- **Primary users**: {inferred personas}
|
|
139
142
|
- **Scope**: {inferred scope}
|
|
143
|
+
- **Business context**: {inferred motivation, else "unclear"}
|
|
144
|
+
- **Technical context**: {inferred current state, else "unclear"}
|
|
140
145
|
- **Success criteria**: {inferred if present, else "unclear"}
|
|
146
|
+
- **Priority**: {inferred must/should/could, else "unclear"}
|
|
141
147
|
|
|
142
148
|
---
|
|
143
149
|
|
|
@@ -164,9 +170,9 @@ Z) Other: please specify
|
|
|
164
170
|
```
|
|
165
171
|
|
|
166
172
|
**Question count based on trust level:**
|
|
167
|
-
- Trust 0:
|
|
168
|
-
- Trust 1:
|
|
169
|
-
- Trust 2: 2-3 questions (Problem + Success
|
|
173
|
+
- Trust 0: 6+ questions (Problem, Personas, Business Context, Technical Context, Success Criteria, Constraints, Priority)
|
|
174
|
+
- Trust 1: 4-5 questions (Problem, Personas, Success Criteria, Business Context, and one more if needed)
|
|
175
|
+
- Trust 2: 2-3 questions (Problem + Success Criteria + Business Context, omit if clearly answered in input)
|
|
170
176
|
- Trust 3: 1-2 questions, or 0 if the feature description is comprehensive
|
|
171
177
|
|
|
172
178
|
**Question format rules:**
|
|
@@ -230,6 +236,10 @@ title: "{title}"
|
|
|
230
236
|
status: draft
|
|
231
237
|
created: "{ISO-8601}"
|
|
232
238
|
author: "prometheus"
|
|
239
|
+
pathway: "{greenfield|brownfield-enhancement|brownfield-refactor|bugfix|migration}"
|
|
240
|
+
scope: "{single-file|single-component|multi-component|system-wide|cross-system}"
|
|
241
|
+
complexity: "{trivial|simple|moderate|complex}"
|
|
242
|
+
priority: "{must|should|could}"
|
|
233
243
|
---
|
|
234
244
|
|
|
235
245
|
# INTENT: {Title}
|
|
@@ -237,20 +247,30 @@ author: "prometheus"
|
|
|
237
247
|
## Problem Statement
|
|
238
248
|
{What problem does this solve? Who is affected? Why does it matter now?}
|
|
239
249
|
|
|
250
|
+
## Business Context
|
|
251
|
+
{Why is this work happening now? What business driver, compliance requirement,
|
|
252
|
+
user feedback, or strategic goal motivates it? What happens if we don't do this?}
|
|
253
|
+
|
|
240
254
|
## User Personas
|
|
241
|
-
- **{Persona 1}**: {
|
|
255
|
+
- **{Persona 1}**: {Role, goals, pain points — 1-2 sentences}
|
|
256
|
+
|
|
257
|
+
## Technical Context
|
|
258
|
+
{Current system state relevant to this intent. Key technologies, integrations,
|
|
259
|
+
and architectural constraints that shape the solution space. NOT the design —
|
|
260
|
+
just what exists today that matters.}
|
|
242
261
|
|
|
243
|
-
## Success
|
|
244
|
-
- {Measurable outcome 1}
|
|
262
|
+
## Success Criteria
|
|
263
|
+
- [ ] {Measurable, verifiable outcome 1}
|
|
264
|
+
- [ ] {Measurable, verifiable outcome 2}
|
|
245
265
|
|
|
246
266
|
## Business Constraints
|
|
247
|
-
- {Constraint 1}
|
|
267
|
+
- {Constraint 1 — e.g., timeline, budget, compliance, backwards compatibility}
|
|
248
268
|
|
|
249
269
|
## Out of Scope
|
|
250
|
-
- {Explicit exclusion 1}
|
|
270
|
+
- {Explicit exclusion 1 — prevents scope creep during construction}
|
|
251
271
|
```
|
|
252
272
|
|
|
253
|
-
Fill all sections from interview answers. Include multiple personas, metrics, constraints, and exclusions as appropriate.
|
|
273
|
+
Fill all sections from interview answers. Include multiple personas, metrics, constraints, and exclusions as appropriate. The frontmatter `pathway`, `scope`, and `complexity` values must align with the classifications determined during the interview. User stories do NOT belong in intent.md — capture personas here; full stories are generated in the User Stories stage.
|
|
254
274
|
|
|
255
275
|
### 4b. Initialize checkpoint with inception_stages
|
|
256
276
|
|