olympus-ai 4.5.1 → 4.5.3
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/alignment.js +2 -2
- package/dist/features/workflow-engine/alignment.js.map +1 -1
- package/dist/features/workflow-engine/code-generation-executor.js +1 -1
- package/dist/features/workflow-engine/code-generation-executor.js.map +1 -1
- package/dist/features/workflow-engine/engine.js +4 -4
- package/dist/features/workflow-engine/inception/stages/requirements-analysis.js +1 -1
- package/dist/features/workflow-engine/inception/stages/requirements-analysis.js.map +1 -1
- package/dist/features/workflow-engine/validation.js +1 -1
- package/dist/features/workflow-engine/validation.js.map +1 -1
- package/dist/hooks/olympus-hooks.cjs +6 -6
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +1 -1
- package/package.json +1 -1
- 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 +117 -3
- package/resources/skills/plan/SKILL.md +38 -18
|
@@ -57,8 +57,8 @@ const VALIDATION_QUESTIONS = {
|
|
|
57
57
|
const TRANSITION_SOURCE_SECTIONS = {
|
|
58
58
|
'intent-to-unit': ['Business Requirements', 'Implementation Plan'],
|
|
59
59
|
'unit-to-bolt': ['Acceptance Criteria', 'Target Files'],
|
|
60
|
-
'unit-to-intent': ['Problem Statement', 'Success
|
|
61
|
-
'bolt-to-intent': ['Problem Statement', 'Success
|
|
60
|
+
'unit-to-intent': ['Problem Statement', 'Success Criteria'],
|
|
61
|
+
'bolt-to-intent': ['Problem Statement', 'Success Criteria'],
|
|
62
62
|
};
|
|
63
63
|
/**
|
|
64
64
|
* Removes YAML frontmatter from markdown content.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/alignment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAY3D;;;GAGG;AACH,MAAM,sBAAsB,GAAwD;IAClF,gBAAgB,EAAE,EAAE;IACpB,cAAc,EAAE,GAAG;IACnB,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,oBAAoB,GAGtB;IACF,gBAAgB,EAAE;QAChB,YAAY,EAAE,yDAAyD;QACvE,UAAU,EAAE,0EAA0E;KACvF;IACD,cAAc,EAAE;QACd,YAAY,EAAE,4DAA4D;QAC1E,UAAU,EAAE,uDAAuD;KACpE;IACD,gBAAgB,EAAE;QAChB,YAAY,EAAE,8DAA8D;QAC5E,UAAU,EAAE,2DAA2D;KACxE;IACD,gBAAgB,EAAE;QAChB,YAAY,EAAE,mEAAmE;QACjF,UAAU,EAAE,8DAA8D;KAC3E;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,0BAA0B,GAA0D;IACxF,gBAAgB,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;IAClE,cAAc,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC;IACvD,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/alignment.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,7 +139,7 @@ export async function dispatchCodeGeneration(projectPath, workflowId, unitName)
|
|
|
139
139
|
]);
|
|
140
140
|
const intentSummary2 = extractSections(intentContent, [
|
|
141
141
|
'Problem Statement',
|
|
142
|
-
'Success
|
|
142
|
+
'Success Criteria',
|
|
143
143
|
]);
|
|
144
144
|
const targetFiles = extractTargetFiles(unitSpec);
|
|
145
145
|
let architectureContext = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-generation-executor.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/code-generation-executor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"code-generation-executor.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/code-generation-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -852,11 +852,11 @@ This feature addresses a specific need identified by stakeholders. The goal is t
|
|
|
852
852
|
- **Developer**: Engineers who will integrate with, maintain, and extend this feature
|
|
853
853
|
- **Administrator**: System administrators who will configure, monitor, and manage this feature
|
|
854
854
|
|
|
855
|
-
## Success
|
|
855
|
+
## Success Criteria
|
|
856
856
|
|
|
857
|
-
- **
|
|
858
|
-
- **
|
|
859
|
-
- **
|
|
857
|
+
- **Criterion 1**: Successful implementation with all acceptance criteria met (target: 100% completion)
|
|
858
|
+
- **Criterion 2**: Zero critical bugs in production within first 30 days (target: 0 P0/P1 issues)
|
|
859
|
+
- **Criterion 3**: Positive user feedback and adoption rate (target: >80% user satisfaction)
|
|
860
860
|
|
|
861
861
|
## Constraints & Boundaries
|
|
862
862
|
|
|
@@ -161,7 +161,7 @@ function buildRequirementsMarkdown(answers, stakeholderMap, constraints) {
|
|
|
161
161
|
lines.push('(none specified)');
|
|
162
162
|
}
|
|
163
163
|
lines.push('');
|
|
164
|
-
lines.push('## Success
|
|
164
|
+
lines.push('## Success Criteria\n');
|
|
165
165
|
const metricsAnswers = answers.filter(a => a.category === 'success-metrics');
|
|
166
166
|
for (const a of metricsAnswers) {
|
|
167
167
|
lines.push(`- ${a.answer}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements-analysis.js","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/inception/stages/requirements-analysis.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"requirements-analysis.js","sourceRoot":"","sources":["../../../../../src/features/workflow-engine/inception/stages/requirements-analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAGlC;;GAEG;AACH,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkD,CAAC;AAC5E,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,aAAa;AAE3C;;GAEG;AACH,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,cAAc,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,eAAe;IACf,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ _This workflow was archived to \`${St}/completed/${t}/\` on ${n.archived_at}_
|
|
|
20
20
|
`),r=null,o=[];for(let s of n){let i=s.match(/^##\s+(.+)$/);i?(r&&t.set(r,o.join(`
|
|
21
21
|
`)),r=i[1].trim(),o=[]):r&&o.push(s)}return r&&t.set(r,o.join(`
|
|
22
22
|
`)),t}function Hr(e){let t=[],n=e.split(`
|
|
23
|
-
`);for(let r of n){let o=r.match(/^\s*[-*+]\s+(?:\[[ x]\]\s+)?(.+)$/);o&&t.push(o[1].trim())}return t}function hv(e,t){let n=gv(e);if(t==="intent-to-unit"){let i=Bi(n),a=[],c=i.get("Business Requirements");c&&a.push(...Hr(c));let l=i.get("Implementation Plan");return l&&a.push(...Hr(l)),a}if(t==="unit-to-bolt"){let i=Bi(n),a=[],c=i.get("Acceptance Criteria");c&&a.push(...Hr(c));let l=i.get("Target Files");return l&&a.push(...Hr(l)),a}let r=Bi(n),o=mv[t],s=[];for(let i of o){let a=r.get(i);if(a){let c=Hr(a);s.push(...c)}}return s}function Lo(e,t,n){try{let r=hv(e,n);if(r.length===0)return{conformance_score:100,coverage_percentage:100,missing_items:[],passed:!0};let o=t.toLowerCase(),s=[],i=0;for(let d of r){let p=d.toLowerCase();o.includes(p)?i++:s.push(d)}let a=Math.round(i/r.length*100),c=a,l=Ep[n],u=a>=l;return{conformance_score:a,coverage_percentage:c,missing_items:s,passed:u}}catch(r){return console.error("[Alignment] Verification computation failed:",r),{conformance_score:0,coverage_percentage:0,missing_items:["Verification computation error"],passed:!1}}}function Cp(e){let t=fv[e];return[{question:t.verification,answer:null,answered_by:null,passed:null},{question:t.validation,answer:null,answered_by:null,passed:null}]}function Gi(e,t,n,r,o){try{let s=Lo(e,t,o),i=Cp(o),a=i.every(f=>f.answer!==null),c=i.every(f=>f.passed===!0),u={alignment_score:a&&c?100:0,alignment_questions:i,passed:c},d=s.passed&&u.passed;return{source_artifact_id:n,target_artifact_id:r,verification:s,validation:u,alignment_passed:d,checked_at:new Date().toISOString()}}catch(s){return console.error("[Alignment] Alignment check failed:",s),{source_artifact_id:n,target_artifact_id:r,verification:{conformance_score:0,coverage_percentage:0,missing_items:["Alignment check error"],passed:!1},validation:{alignment_score:0,alignment_questions:[],passed:!1},alignment_passed:!1,checked_at:new Date().toISOString()}}}function Qn(e,t,n,r,o,s,i,a){let c=Gi(t,e,s,i,r),l=Gi(n,e,a,i,o),u=c.alignment_passed&&l.alignment_passed;return{parentCheck:c,rootCheck:l,passed:u}}function yv(e,t){let n=0;t>=2&&(n+=10),t>=3&&(n+=10);let r=e-n;return Math.max(0,r)}function wv(e,t){try{let n=W(e);if(!n){console.error(`[Alignment] Manifest not found at ${e}`);return}n.alignment_checks.push(t),G(e,n)}catch(n){console.error("[Alignment] Failed to record alignment result:",n)}}function _v(e){return Ep[e]}var Ep,fv,mv,Uo=U(()=>{"use strict";Z();Ep={"intent-to-unit":95,"unit-to-bolt":100,"unit-to-intent":80,"bolt-to-intent":70},fv={"intent-to-unit":{verification:"Does the UNIT cover its assigned scope from the INTENT?",validation:"Will this UNIT produce a working module that contributes to the feature?"},"unit-to-bolt":{verification:"Does the BOLT cover all acceptance criteria from the UNIT?",validation:"Does this BOLT deliver meaningful, testable progress?"},"unit-to-intent":{verification:"Does this UNIT contribute to the INTENT's problem statement?",validation:"Does this UNIT help achieve the INTENT's success metrics?"},"bolt-to-intent":{verification:"Does this BOLT contribute to solving the INTENT's stated problem?",validation:"Is this BOLT still aligned with the original INTENT's goals?"}},mv={"intent-to-unit":["Business Requirements","Implementation Plan"],"unit-to-bolt":["Acceptance Criteria","Target Files"],"unit-to-intent":["Problem Statement","Success Metrics"],"bolt-to-intent":["Problem Statement","Success Metrics"]}});var vn={};he(vn,{addArtifactLink:()=>kv,addGateAuditEntry:()=>Fe,cascadeInvalidation:()=>vv,computeChecksum:()=>Wo,createManifest:()=>Vi,detectStaleArtifacts:()=>Sv,getArtifactById:()=>Ev,getArtifactsByPhase:()=>Cv,getBoltArtifacts:()=>Tt,getBoltsByStatus:()=>Yi,getUnitArtifacts:()=>Sn,isWorkflowComplete:()=>Pp,linkArtifacts:()=>qi,loadManifest:()=>W,normalizePath:()=>Hi,recoverManifest:()=>Tv,registerArtifact:()=>Ne,revalidateStaleArtifacts:()=>xv,runAlignmentCheck:()=>bv,saveManifest:()=>G,transitionToActive:()=>Ki,transitionToDraft:()=>Ap,transitionToFulfilled:()=>Ji,transitionToStale:()=>Op,transitionToViolated:()=>Ip,updateContractStatus:()=>bt,updatePhaseStatus:()=>jt});function Hi(e){return e.replace(/\\/g,"/")}function rn(){return{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null}}function Vi(e,t,n){let r=vt.join(n,"aidlc-docs",e),o=vt.join(r,"manifest.json");try{be.default.ensureDirSync(r);let s=new Date().toISOString(),i={schema_version:"2.0.0",workflow_id:e,feature_name:t,created_at:s,updated_at:s,phases:{discovery:rn(),inception:rn(),construction:rn(),operations:rn()},depth_assessment:null,artifacts:[],links:[],risks:[],gate_audit:[],metrics:null,alignment_checks:[],risk_tier:null};return be.default.writeFileSync(o,JSON.stringify(i,null,2),"utf-8"),o}catch(s){throw console.error(`Failed to create manifest at ${o}:`,s),s}}function W(e){try{if(!be.default.existsSync(e))return null;let t=be.default.readFileSync(e,"utf-8");return JSON.parse(t)}catch(t){return console.error(`Failed to load manifest at ${e}:`,t),null}}function G(e,t){try{t.updated_at=new Date().toISOString(),be.default.writeFileSync(e,JSON.stringify(t,null,2),"utf-8")}catch(n){throw console.error(`Failed to save manifest at ${e}:`,n),n}}function Wo(e){try{if(!be.default.existsSync(e))return null;let t=be.default.readFileSync(e),n=(0,xp.createHash)("sha256");return n.update(t),n.digest("hex")}catch(t){return console.error(`Failed to compute checksum for ${e}:`,t),null}}function Ne(e,t){try{let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=new Date().toISOString(),o=Hi(t.path),s=n.artifacts.findIndex(a=>a.id===t.id),i=Wo(t.path);if(s>=0){let a=n.artifacts[s];n.artifacts[s]={...a,...t,path:o,updated_at:r,contract_version:a.contract_version+1,checksum:i}}else{let a={...t,path:o,created_at:r,updated_at:r,contract_version:1,contract_status:"draft",stale_reason:null,checksum:i};n.artifacts.push(a)}G(e,n)}catch(n){throw console.error(`Failed to register artifact in ${e}:`,n),n}}function qi(e,t){try{let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.some(i=>i.id===t.source_id),o=n.artifacts.some(i=>i.id===t.target_id);if(!r)throw new Error(`Source artifact not found: ${t.source_id}`);if(!o)throw new Error(`Target artifact not found: ${t.target_id}`);n.links.some(i=>i.source_id===t.source_id&&i.target_id===t.target_id&&i.link_type===t.link_type)||(n.links.push(t),G(e,n))}catch(n){throw console.error(`Failed to link artifacts in ${e}:`,n),n}}function kv(e,t,n,r){e.links.some(s=>s.source_id===t&&s.target_id===n&&s.link_type===r)||e.links.push({source_id:t,target_id:n,link_type:r})}function Sv(e){try{let t=W(e);if(!t)return[];let n=[];for(let r of t.artifacts)if(r.checksum&&r.write_complete){let o=Wo(r.path);o&&o!==r.checksum&&n.push(r.id)}return n}catch(t){return console.error(`Failed to detect stale artifacts in ${e}:`,t),[]}}function vv(e,t){try{let n=W(e);if(!n)return;let r=new Set,o=[t];for(;o.length>0;){let s=o.shift();if(r.has(s))continue;r.add(s);let i=n.artifacts.find(c=>c.id===s);if(i){let c=s===t?"Artifact content was modified":`Parent artifact ${s} was modified`;Rv(i,c)}let a=n.links.filter(c=>c.source_id===s);for(let c of a)r.has(c.target_id)||o.push(c.target_id)}G(e,n)}catch(n){console.error(`Failed to cascade invalidation in ${e}:`,n)}}function bv(e,t,n){try{let r=W(e);if(!r)return;let o=new Date().toISOString(),a={source_artifact_id:t,target_artifact_id:n,verification:{conformance_score:0,coverage_percentage:0,missing_items:[],passed:!1},validation:{alignment_score:0,alignment_questions:[],passed:!1},alignment_passed:!1,checked_at:o};r.alignment_checks.push(a),G(e,r)}catch(r){console.error(`Failed to run alignment check in ${e}:`,r)}}function Tv(e,t){try{let n=vt.join(e,"aidlc-docs",t);if(!be.default.existsSync(n))return null;let r=new Date().toISOString(),o={schema_version:"2.0.0",workflow_id:t,feature_name:"Recovered Workflow",created_at:r,updated_at:r,phases:{discovery:rn(),inception:rn(),construction:rn(),operations:rn()},depth_assessment:null,artifacts:[],links:[],risks:[],gate_audit:[],metrics:null,alignment_checks:[],risk_tier:null},s=be.default.readdirSync(n,{recursive:!0,withFileTypes:!0});for(let i of s)if(i.isFile()&&i.name!=="manifest.json"){let a=vt.join(i.path,i.name),c=vt.relative(n,a),l=Hi(a),u={id:`recovered-${Date.now()}-${o.artifacts.length}`,type:vt.extname(i.name)||"unknown",phase:"inception",stage:"intent",path:l,created_at:r,updated_at:r,validation_passed:null,write_complete:!0,checksum:Wo(a),contract_status:"draft",contract_version:1,stale_reason:null};o.artifacts.push(u)}return o}catch(n){return console.error(`Failed to recover manifest for workflow ${t}:`,n),null}}function jt(e,t,n,r,o){try{let s=W(e);if(!s)return;s.phases[t].status=n,r!==void 0&&(s.phases[t].started_at=r),o!==void 0&&(s.phases[t].completed_at=o),G(e,s)}catch(s){console.error(`Failed to update phase status in ${e}:`,s)}}function Fe(e,t){try{let n=W(e);if(!n)return;let r={...t,timestamp:new Date().toISOString()};n.gate_audit.push(r),G(e,n)}catch(n){console.error(`Failed to add gate audit entry in ${e}:`,n)}}function Ev(e,t){return e.artifacts.find(n=>n.id===t)}function Cv(e,t){return e.artifacts.filter(n=>n.phase===t)}function bt(e,t,n,r){try{switch(n){case"draft":Ap(e,t);break;case"active":Ki(e,t);break;case"fulfilled":Ji(e,t);break;case"violated":Ip(e,t);break;case"stale":if(!r)throw new Error('staleReason is required when setting status to "stale"');Op(e,t,r);break}}catch(o){console.error(`Failed to update contract status in ${e}:`,o)}}function Sn(e){return e.artifacts.filter(t=>t.stage==="unit")}function Tt(e,t){let n=e.artifacts.filter(r=>r.stage==="code-generation");if(t){let r=new Set(e.links.filter(o=>o.source_id===t&&(o.link_type==="derives"||o.link_type==="implements")).map(o=>o.target_id));return n.filter(o=>r.has(o.id))}return n}function Yi(e,t){return e.artifacts.filter(n=>n.stage==="code-generation"&&n.contract_status===t)}function Pp(e){let t=e.artifacts.filter(n=>n.stage==="code-generation");return t.length===0?!1:t.every(n=>n.contract_status==="fulfilled")}function Rv(e,t){return e.contract_status==="stale"||e.contract_status==="violated"?!1:(e.contract_status="stale",e.stale_reason=t,e.statusHistory||(e.statusHistory=[]),e.statusHistory.push({status:"stale",timestamp:new Date().toISOString()}),!0)}function Ap(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="violated"&&r.contract_status!=="stale")throw new Error(`Cannot transition from '${r.contract_status}' to 'draft'`);r.contract_status="draft",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"draft",timestamp:new Date().toISOString()}),G(e,n)}function Ki(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="draft"&&r.contract_status!=="stale")throw new Error(`Cannot transition from '${r.contract_status}' to 'active'`);r.contract_status="active",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"active",timestamp:new Date().toISOString()}),G(e,n)}function Ji(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="active")throw new Error(`Cannot transition from '${r.contract_status}' to 'fulfilled'`);r.contract_status="fulfilled",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"fulfilled",timestamp:new Date().toISOString()}),G(e,n)}function Ip(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="active")throw new Error(`Cannot transition from '${r.contract_status}' to 'violated'`);r.contract_status="violated",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"violated",timestamp:new Date().toISOString()}),G(e,n)}function Op(e,t,n){let r=W(e);if(!r)throw new Error(`Manifest not found at ${e}`);let o=r.artifacts.find(s=>s.id===t);if(!o)throw new Error(`Artifact ${t} not found in manifest`);if(o.contract_status!=="active"&&o.contract_status!=="fulfilled")throw new Error(`Cannot transition from '${o.contract_status}' to 'stale'`);o.contract_status="stale",o.stale_reason=n,o.statusHistory||(o.statusHistory=[]),o.statusHistory.push({status:"stale",timestamp:new Date().toISOString()}),G(e,r)}async function xv(e,t){let n={restored:[],stillStale:[],errors:[]},r=vt.join(e,"aidlc-docs",t,"manifest.json"),o=W(r);if(!o)return n.errors.push("Manifest not found"),n;let s=o.artifacts.filter(i=>i.contract_status==="stale");for(let i of s)try{let a=o.links.find(w=>w.target_id===i.id);if(!a){n.stillStale.push(i.id);continue}let c=o.artifacts.find(w=>w.id===a.source_id);if(!c){n.stillStale.push(i.id);continue}let l=o.artifacts.find(w=>w.stage==="intent");if(!l){n.stillStale.push(i.id);continue}let u=be.default.existsSync(i.path)?be.default.readFileSync(i.path,"utf-8"):null,d=be.default.existsSync(c.path)?be.default.readFileSync(c.path,"utf-8"):null,p=be.default.existsSync(l.path)?be.default.readFileSync(l.path,"utf-8"):null;if(!u||!d||!p){n.stillStale.push(i.id);continue}let{runDualValidation:f}=await Promise.resolve().then(()=>(Uo(),Rp)),m,g;if(i.stage==="unit")m="intent-to-unit",g="unit-to-intent";else if(i.stage==="code-generation")m="unit-to-bolt",g="bolt-to-intent";else{n.stillStale.push(i.id);continue}f(u,d,p,m,g,c.id,i.id,l.id).passed?(i.contract_status="active",i.stale_reason=null,i.statusHistory||(i.statusHistory=[]),i.statusHistory.push({status:"active",timestamp:new Date().toISOString()}),n.restored.push(i.id)):n.stillStale.push(i.id)}catch(a){n.errors.push(`Error revalidating ${i.id}: ${a}`),n.stillStale.push(i.id)}return G(r,o),n}var be,vt,xp,Z=U(()=>{"use strict";be=b(X(),1),vt=b(require("path"),1),xp=require("crypto")});async function $p(e,t){let n=L.join(e,"aidlc-docs",t),r=L.join(n,"checkpoint.json");try{await ie.ensureDir(n),await ie.ensureDir(L.join(n,"inception")),await ie.ensureDir(L.join(n,"construction")),await ie.ensureDir(L.join(n,"construction","design")),await ie.ensureDir(L.join(n,"operations")),await ie.pathExists(r)||await ie.writeJson(r,{workflow_id:t,current_stage:"intent",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},{spaces:2})}catch(o){let s=o;throw s.code==="ENOSPC"?(console.error("[Artifacts] Failed to create workflow directory: Disk full"),console.error("[Artifacts] Please free up disk space and try again."),console.error(`[Artifacts] Attempted path: ${n}`),new Error("Failed to create workflow directory: Disk is full. Please free up space and retry.")):s.code==="EACCES"||s.code==="EPERM"?(console.error("[Artifacts] Failed to create workflow directory: Permission denied"),console.error(`[Artifacts] Path: ${n}`),new Error(`Failed to create workflow directory: Permission denied for ${n}`)):s.code==="EROFS"?(console.error("[Artifacts] Failed to create workflow directory: Read-only filesystem"),console.error(`[Artifacts] Path: ${n}`),new Error("Failed to create workflow directory: Filesystem is read-only")):(console.error(`[Artifacts] Failed to create workflow directory: ${s.message}`),console.error(`[Artifacts] Workflow ID: ${t}`),console.error(`[Artifacts] Path: ${n}`),new Error(`Failed to create workflow directory for ${t}: ${s.message}`))}}function lt(e,t,n,r,o){let s=L.join(e,"aidlc-docs",t);switch(n){case"intent":return L.join(s,"inception","intent.md");case"nfr":return L.join(s,"inception","requirements","nfr.md");case"unit":if(!r)throw new Error("artifactId is required for unit artifacts");return L.join(s,"construction",r,"spec.md");case"code-generation":if(!r)throw new Error("artifactId is required for code-generation artifacts");if(!o)throw new Error("unitId is required for code-generation artifacts");return L.join(s,"construction",o,`${r}.md`);case"validation-report":if(!r)throw new Error("artifactId is required for validation-report artifacts");return L.join(s,"construction",r,"validation-report.md");case"interfaces":return L.join(s,"construction","design","interfaces.json");case"data-flow":return L.join(s,"construction","design","data-flow.json");case"components":return L.join(s,"construction","design","components.json");case"deploy-guide":return L.join(s,"operations","deploy-guide.md");case"runbook":return L.join(s,"operations","runbook.md");case"monitoring":return L.join(s,"operations","monitoring.json");case"release-notes":return L.join(s,"operations","release-notes.md");case"state":return L.join(s,"state.md");case"audit":return L.join(s,"audit.md");case"analysis-plan":return L.join(s,"discovery","analysis-plan.md");case"current-state-analysis":return L.join(s,"discovery","current-state-analysis.md");case"regression-baseline":return L.join(s,"discovery","regression-baseline.md");case"change-impact":return L.join(s,"discovery","change-impact.md");case"static-model":return L.join(s,"discovery","static-model.md");case"dynamic-model":return L.join(s,"discovery","dynamic-model.md");case"WORKFLOW_ROUTING":return L.join(s,"inception","plans","workflow-routing.md");case"requirements-qa":return L.join(s,"inception","requirements","requirements-analysis-questions.md");case"requirements":return L.join(s,"inception","requirements","requirements.md");case"personas":return L.join(s,"inception","user-stories","personas.md");case"user-stories":return L.join(s,"inception","user-stories","stories.md");case"execution-plan":return L.join(s,"inception","plans","execution-plan.md");case"units-generation":return L.join(s,"inception","application-design","unit-of-work.md");case"unit-dependency":return L.join(s,"inception","application-design","unit-of-work-dependency.md");case"unit-story-map":return L.join(s,"inception","application-design","unit-of-work-story-map.md");default:throw new Error(`Unknown artifact type: ${n}`)}}async function Xn(e,t,n,r,o,s){let i=lt(e,t,n,o,s),a=await ie.pathExists(i);try{await ie.ensureDir(L.dirname(i)),await ie.writeFile(i,r,"utf-8")}catch(c){let l=c;throw l.code==="ENOSPC"?(console.error(`[Artifacts] Failed to write ${n} artifact: Disk full`),console.error("[Artifacts] Please free up disk space and try again."),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: Disk is full. Please free up space and retry.`)):l.code==="EACCES"||l.code==="EPERM"?(console.error(`[Artifacts] Failed to write ${n} artifact: Permission denied`),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: Permission denied for ${i}`)):l.code==="EROFS"?(console.error(`[Artifacts] Failed to write ${n} artifact: Read-only filesystem`),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: Filesystem is read-only`)):(console.error(`[Artifacts] Failed to write ${n} artifact: ${l.message}`),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: ${l.message}`))}if(a)try{let c=L.join(e,"aidlc-docs",t,"manifest.json"),{cascadeInvalidation:l,loadManifest:u,saveManifest:d,computeChecksum:p}=await Promise.resolve().then(()=>(Z(),vn)),f=u(c);if(f){let m=i.replace(/\\/g,"/"),g=f.artifacts.find(y=>y.path===m||y.path.endsWith(L.basename(i)));if(g){let y=p(i);y&&(g.checksum=y,g.updated_at=new Date().toISOString(),d(c,f)),l(c,g.id)}}}catch(c){console.error("[Artifacts] Cascade invalidation after write failed:",c)}}async function zi(e,t){let n=L.join(e,"aidlc-docs",t,"discovery");await ie.ensureDir(n)}async function Dp(e,t,n){let r=L.join(e,"aidlc-docs",t,"audit.md");await ie.ensureDir(L.dirname(r)),await ie.pathExists(r)?await ie.appendFile(r,`
|
|
23
|
+
`);for(let r of n){let o=r.match(/^\s*[-*+]\s+(?:\[[ x]\]\s+)?(.+)$/);o&&t.push(o[1].trim())}return t}function hv(e,t){let n=gv(e);if(t==="intent-to-unit"){let i=Bi(n),a=[],c=i.get("Business Requirements");c&&a.push(...Hr(c));let l=i.get("Implementation Plan");return l&&a.push(...Hr(l)),a}if(t==="unit-to-bolt"){let i=Bi(n),a=[],c=i.get("Acceptance Criteria");c&&a.push(...Hr(c));let l=i.get("Target Files");return l&&a.push(...Hr(l)),a}let r=Bi(n),o=mv[t],s=[];for(let i of o){let a=r.get(i);if(a){let c=Hr(a);s.push(...c)}}return s}function Lo(e,t,n){try{let r=hv(e,n);if(r.length===0)return{conformance_score:100,coverage_percentage:100,missing_items:[],passed:!0};let o=t.toLowerCase(),s=[],i=0;for(let d of r){let p=d.toLowerCase();o.includes(p)?i++:s.push(d)}let a=Math.round(i/r.length*100),c=a,l=Ep[n],u=a>=l;return{conformance_score:a,coverage_percentage:c,missing_items:s,passed:u}}catch(r){return console.error("[Alignment] Verification computation failed:",r),{conformance_score:0,coverage_percentage:0,missing_items:["Verification computation error"],passed:!1}}}function Cp(e){let t=fv[e];return[{question:t.verification,answer:null,answered_by:null,passed:null},{question:t.validation,answer:null,answered_by:null,passed:null}]}function Gi(e,t,n,r,o){try{let s=Lo(e,t,o),i=Cp(o),a=i.every(f=>f.answer!==null),c=i.every(f=>f.passed===!0),u={alignment_score:a&&c?100:0,alignment_questions:i,passed:c},d=s.passed&&u.passed;return{source_artifact_id:n,target_artifact_id:r,verification:s,validation:u,alignment_passed:d,checked_at:new Date().toISOString()}}catch(s){return console.error("[Alignment] Alignment check failed:",s),{source_artifact_id:n,target_artifact_id:r,verification:{conformance_score:0,coverage_percentage:0,missing_items:["Alignment check error"],passed:!1},validation:{alignment_score:0,alignment_questions:[],passed:!1},alignment_passed:!1,checked_at:new Date().toISOString()}}}function Qn(e,t,n,r,o,s,i,a){let c=Gi(t,e,s,i,r),l=Gi(n,e,a,i,o),u=c.alignment_passed&&l.alignment_passed;return{parentCheck:c,rootCheck:l,passed:u}}function yv(e,t){let n=0;t>=2&&(n+=10),t>=3&&(n+=10);let r=e-n;return Math.max(0,r)}function wv(e,t){try{let n=W(e);if(!n){console.error(`[Alignment] Manifest not found at ${e}`);return}n.alignment_checks.push(t),G(e,n)}catch(n){console.error("[Alignment] Failed to record alignment result:",n)}}function _v(e){return Ep[e]}var Ep,fv,mv,Uo=U(()=>{"use strict";Z();Ep={"intent-to-unit":95,"unit-to-bolt":100,"unit-to-intent":80,"bolt-to-intent":70},fv={"intent-to-unit":{verification:"Does the UNIT cover its assigned scope from the INTENT?",validation:"Will this UNIT produce a working module that contributes to the feature?"},"unit-to-bolt":{verification:"Does the BOLT cover all acceptance criteria from the UNIT?",validation:"Does this BOLT deliver meaningful, testable progress?"},"unit-to-intent":{verification:"Does this UNIT contribute to the INTENT's problem statement?",validation:"Does this UNIT help achieve the INTENT's success metrics?"},"bolt-to-intent":{verification:"Does this BOLT contribute to solving the INTENT's stated problem?",validation:"Is this BOLT still aligned with the original INTENT's goals?"}},mv={"intent-to-unit":["Business Requirements","Implementation Plan"],"unit-to-bolt":["Acceptance Criteria","Target Files"],"unit-to-intent":["Problem Statement","Success Criteria"],"bolt-to-intent":["Problem Statement","Success Criteria"]}});var vn={};he(vn,{addArtifactLink:()=>kv,addGateAuditEntry:()=>Fe,cascadeInvalidation:()=>vv,computeChecksum:()=>Wo,createManifest:()=>Vi,detectStaleArtifacts:()=>Sv,getArtifactById:()=>Ev,getArtifactsByPhase:()=>Cv,getBoltArtifacts:()=>Tt,getBoltsByStatus:()=>Yi,getUnitArtifacts:()=>Sn,isWorkflowComplete:()=>Pp,linkArtifacts:()=>qi,loadManifest:()=>W,normalizePath:()=>Hi,recoverManifest:()=>Tv,registerArtifact:()=>Ne,revalidateStaleArtifacts:()=>xv,runAlignmentCheck:()=>bv,saveManifest:()=>G,transitionToActive:()=>Ki,transitionToDraft:()=>Ap,transitionToFulfilled:()=>Ji,transitionToStale:()=>Op,transitionToViolated:()=>Ip,updateContractStatus:()=>bt,updatePhaseStatus:()=>jt});function Hi(e){return e.replace(/\\/g,"/")}function rn(){return{status:"not_started",started_at:null,completed_at:null,gate_result:null,gate_bypassed:!1,bypass_reason:null}}function Vi(e,t,n){let r=vt.join(n,"aidlc-docs",e),o=vt.join(r,"manifest.json");try{be.default.ensureDirSync(r);let s=new Date().toISOString(),i={schema_version:"2.0.0",workflow_id:e,feature_name:t,created_at:s,updated_at:s,phases:{discovery:rn(),inception:rn(),construction:rn(),operations:rn()},depth_assessment:null,artifacts:[],links:[],risks:[],gate_audit:[],metrics:null,alignment_checks:[],risk_tier:null};return be.default.writeFileSync(o,JSON.stringify(i,null,2),"utf-8"),o}catch(s){throw console.error(`Failed to create manifest at ${o}:`,s),s}}function W(e){try{if(!be.default.existsSync(e))return null;let t=be.default.readFileSync(e,"utf-8");return JSON.parse(t)}catch(t){return console.error(`Failed to load manifest at ${e}:`,t),null}}function G(e,t){try{t.updated_at=new Date().toISOString(),be.default.writeFileSync(e,JSON.stringify(t,null,2),"utf-8")}catch(n){throw console.error(`Failed to save manifest at ${e}:`,n),n}}function Wo(e){try{if(!be.default.existsSync(e))return null;let t=be.default.readFileSync(e),n=(0,xp.createHash)("sha256");return n.update(t),n.digest("hex")}catch(t){return console.error(`Failed to compute checksum for ${e}:`,t),null}}function Ne(e,t){try{let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=new Date().toISOString(),o=Hi(t.path),s=n.artifacts.findIndex(a=>a.id===t.id),i=Wo(t.path);if(s>=0){let a=n.artifacts[s];n.artifacts[s]={...a,...t,path:o,updated_at:r,contract_version:a.contract_version+1,checksum:i}}else{let a={...t,path:o,created_at:r,updated_at:r,contract_version:1,contract_status:"draft",stale_reason:null,checksum:i};n.artifacts.push(a)}G(e,n)}catch(n){throw console.error(`Failed to register artifact in ${e}:`,n),n}}function qi(e,t){try{let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.some(i=>i.id===t.source_id),o=n.artifacts.some(i=>i.id===t.target_id);if(!r)throw new Error(`Source artifact not found: ${t.source_id}`);if(!o)throw new Error(`Target artifact not found: ${t.target_id}`);n.links.some(i=>i.source_id===t.source_id&&i.target_id===t.target_id&&i.link_type===t.link_type)||(n.links.push(t),G(e,n))}catch(n){throw console.error(`Failed to link artifacts in ${e}:`,n),n}}function kv(e,t,n,r){e.links.some(s=>s.source_id===t&&s.target_id===n&&s.link_type===r)||e.links.push({source_id:t,target_id:n,link_type:r})}function Sv(e){try{let t=W(e);if(!t)return[];let n=[];for(let r of t.artifacts)if(r.checksum&&r.write_complete){let o=Wo(r.path);o&&o!==r.checksum&&n.push(r.id)}return n}catch(t){return console.error(`Failed to detect stale artifacts in ${e}:`,t),[]}}function vv(e,t){try{let n=W(e);if(!n)return;let r=new Set,o=[t];for(;o.length>0;){let s=o.shift();if(r.has(s))continue;r.add(s);let i=n.artifacts.find(c=>c.id===s);if(i){let c=s===t?"Artifact content was modified":`Parent artifact ${s} was modified`;Rv(i,c)}let a=n.links.filter(c=>c.source_id===s);for(let c of a)r.has(c.target_id)||o.push(c.target_id)}G(e,n)}catch(n){console.error(`Failed to cascade invalidation in ${e}:`,n)}}function bv(e,t,n){try{let r=W(e);if(!r)return;let o=new Date().toISOString(),a={source_artifact_id:t,target_artifact_id:n,verification:{conformance_score:0,coverage_percentage:0,missing_items:[],passed:!1},validation:{alignment_score:0,alignment_questions:[],passed:!1},alignment_passed:!1,checked_at:o};r.alignment_checks.push(a),G(e,r)}catch(r){console.error(`Failed to run alignment check in ${e}:`,r)}}function Tv(e,t){try{let n=vt.join(e,"aidlc-docs",t);if(!be.default.existsSync(n))return null;let r=new Date().toISOString(),o={schema_version:"2.0.0",workflow_id:t,feature_name:"Recovered Workflow",created_at:r,updated_at:r,phases:{discovery:rn(),inception:rn(),construction:rn(),operations:rn()},depth_assessment:null,artifacts:[],links:[],risks:[],gate_audit:[],metrics:null,alignment_checks:[],risk_tier:null},s=be.default.readdirSync(n,{recursive:!0,withFileTypes:!0});for(let i of s)if(i.isFile()&&i.name!=="manifest.json"){let a=vt.join(i.path,i.name),c=vt.relative(n,a),l=Hi(a),u={id:`recovered-${Date.now()}-${o.artifacts.length}`,type:vt.extname(i.name)||"unknown",phase:"inception",stage:"intent",path:l,created_at:r,updated_at:r,validation_passed:null,write_complete:!0,checksum:Wo(a),contract_status:"draft",contract_version:1,stale_reason:null};o.artifacts.push(u)}return o}catch(n){return console.error(`Failed to recover manifest for workflow ${t}:`,n),null}}function jt(e,t,n,r,o){try{let s=W(e);if(!s)return;s.phases[t].status=n,r!==void 0&&(s.phases[t].started_at=r),o!==void 0&&(s.phases[t].completed_at=o),G(e,s)}catch(s){console.error(`Failed to update phase status in ${e}:`,s)}}function Fe(e,t){try{let n=W(e);if(!n)return;let r={...t,timestamp:new Date().toISOString()};n.gate_audit.push(r),G(e,n)}catch(n){console.error(`Failed to add gate audit entry in ${e}:`,n)}}function Ev(e,t){return e.artifacts.find(n=>n.id===t)}function Cv(e,t){return e.artifacts.filter(n=>n.phase===t)}function bt(e,t,n,r){try{switch(n){case"draft":Ap(e,t);break;case"active":Ki(e,t);break;case"fulfilled":Ji(e,t);break;case"violated":Ip(e,t);break;case"stale":if(!r)throw new Error('staleReason is required when setting status to "stale"');Op(e,t,r);break}}catch(o){console.error(`Failed to update contract status in ${e}:`,o)}}function Sn(e){return e.artifacts.filter(t=>t.stage==="unit")}function Tt(e,t){let n=e.artifacts.filter(r=>r.stage==="code-generation");if(t){let r=new Set(e.links.filter(o=>o.source_id===t&&(o.link_type==="derives"||o.link_type==="implements")).map(o=>o.target_id));return n.filter(o=>r.has(o.id))}return n}function Yi(e,t){return e.artifacts.filter(n=>n.stage==="code-generation"&&n.contract_status===t)}function Pp(e){let t=e.artifacts.filter(n=>n.stage==="code-generation");return t.length===0?!1:t.every(n=>n.contract_status==="fulfilled")}function Rv(e,t){return e.contract_status==="stale"||e.contract_status==="violated"?!1:(e.contract_status="stale",e.stale_reason=t,e.statusHistory||(e.statusHistory=[]),e.statusHistory.push({status:"stale",timestamp:new Date().toISOString()}),!0)}function Ap(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="violated"&&r.contract_status!=="stale")throw new Error(`Cannot transition from '${r.contract_status}' to 'draft'`);r.contract_status="draft",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"draft",timestamp:new Date().toISOString()}),G(e,n)}function Ki(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="draft"&&r.contract_status!=="stale")throw new Error(`Cannot transition from '${r.contract_status}' to 'active'`);r.contract_status="active",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"active",timestamp:new Date().toISOString()}),G(e,n)}function Ji(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="active")throw new Error(`Cannot transition from '${r.contract_status}' to 'fulfilled'`);r.contract_status="fulfilled",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"fulfilled",timestamp:new Date().toISOString()}),G(e,n)}function Ip(e,t){let n=W(e);if(!n)throw new Error(`Manifest not found at ${e}`);let r=n.artifacts.find(o=>o.id===t);if(!r)throw new Error(`Artifact ${t} not found in manifest`);if(r.contract_status!=="active")throw new Error(`Cannot transition from '${r.contract_status}' to 'violated'`);r.contract_status="violated",r.stale_reason=null,r.statusHistory||(r.statusHistory=[]),r.statusHistory.push({status:"violated",timestamp:new Date().toISOString()}),G(e,n)}function Op(e,t,n){let r=W(e);if(!r)throw new Error(`Manifest not found at ${e}`);let o=r.artifacts.find(s=>s.id===t);if(!o)throw new Error(`Artifact ${t} not found in manifest`);if(o.contract_status!=="active"&&o.contract_status!=="fulfilled")throw new Error(`Cannot transition from '${o.contract_status}' to 'stale'`);o.contract_status="stale",o.stale_reason=n,o.statusHistory||(o.statusHistory=[]),o.statusHistory.push({status:"stale",timestamp:new Date().toISOString()}),G(e,r)}async function xv(e,t){let n={restored:[],stillStale:[],errors:[]},r=vt.join(e,"aidlc-docs",t,"manifest.json"),o=W(r);if(!o)return n.errors.push("Manifest not found"),n;let s=o.artifacts.filter(i=>i.contract_status==="stale");for(let i of s)try{let a=o.links.find(w=>w.target_id===i.id);if(!a){n.stillStale.push(i.id);continue}let c=o.artifacts.find(w=>w.id===a.source_id);if(!c){n.stillStale.push(i.id);continue}let l=o.artifacts.find(w=>w.stage==="intent");if(!l){n.stillStale.push(i.id);continue}let u=be.default.existsSync(i.path)?be.default.readFileSync(i.path,"utf-8"):null,d=be.default.existsSync(c.path)?be.default.readFileSync(c.path,"utf-8"):null,p=be.default.existsSync(l.path)?be.default.readFileSync(l.path,"utf-8"):null;if(!u||!d||!p){n.stillStale.push(i.id);continue}let{runDualValidation:f}=await Promise.resolve().then(()=>(Uo(),Rp)),m,g;if(i.stage==="unit")m="intent-to-unit",g="unit-to-intent";else if(i.stage==="code-generation")m="unit-to-bolt",g="bolt-to-intent";else{n.stillStale.push(i.id);continue}f(u,d,p,m,g,c.id,i.id,l.id).passed?(i.contract_status="active",i.stale_reason=null,i.statusHistory||(i.statusHistory=[]),i.statusHistory.push({status:"active",timestamp:new Date().toISOString()}),n.restored.push(i.id)):n.stillStale.push(i.id)}catch(a){n.errors.push(`Error revalidating ${i.id}: ${a}`),n.stillStale.push(i.id)}return G(r,o),n}var be,vt,xp,Z=U(()=>{"use strict";be=b(X(),1),vt=b(require("path"),1),xp=require("crypto")});async function $p(e,t){let n=L.join(e,"aidlc-docs",t),r=L.join(n,"checkpoint.json");try{await ie.ensureDir(n),await ie.ensureDir(L.join(n,"inception")),await ie.ensureDir(L.join(n,"construction")),await ie.ensureDir(L.join(n,"construction","design")),await ie.ensureDir(L.join(n,"operations")),await ie.pathExists(r)||await ie.writeJson(r,{workflow_id:t,current_stage:"intent",created_at:new Date().toISOString(),updated_at:new Date().toISOString()},{spaces:2})}catch(o){let s=o;throw s.code==="ENOSPC"?(console.error("[Artifacts] Failed to create workflow directory: Disk full"),console.error("[Artifacts] Please free up disk space and try again."),console.error(`[Artifacts] Attempted path: ${n}`),new Error("Failed to create workflow directory: Disk is full. Please free up space and retry.")):s.code==="EACCES"||s.code==="EPERM"?(console.error("[Artifacts] Failed to create workflow directory: Permission denied"),console.error(`[Artifacts] Path: ${n}`),new Error(`Failed to create workflow directory: Permission denied for ${n}`)):s.code==="EROFS"?(console.error("[Artifacts] Failed to create workflow directory: Read-only filesystem"),console.error(`[Artifacts] Path: ${n}`),new Error("Failed to create workflow directory: Filesystem is read-only")):(console.error(`[Artifacts] Failed to create workflow directory: ${s.message}`),console.error(`[Artifacts] Workflow ID: ${t}`),console.error(`[Artifacts] Path: ${n}`),new Error(`Failed to create workflow directory for ${t}: ${s.message}`))}}function lt(e,t,n,r,o){let s=L.join(e,"aidlc-docs",t);switch(n){case"intent":return L.join(s,"inception","intent.md");case"nfr":return L.join(s,"inception","requirements","nfr.md");case"unit":if(!r)throw new Error("artifactId is required for unit artifacts");return L.join(s,"construction",r,"spec.md");case"code-generation":if(!r)throw new Error("artifactId is required for code-generation artifacts");if(!o)throw new Error("unitId is required for code-generation artifacts");return L.join(s,"construction",o,`${r}.md`);case"validation-report":if(!r)throw new Error("artifactId is required for validation-report artifacts");return L.join(s,"construction",r,"validation-report.md");case"interfaces":return L.join(s,"construction","design","interfaces.json");case"data-flow":return L.join(s,"construction","design","data-flow.json");case"components":return L.join(s,"construction","design","components.json");case"deploy-guide":return L.join(s,"operations","deploy-guide.md");case"runbook":return L.join(s,"operations","runbook.md");case"monitoring":return L.join(s,"operations","monitoring.json");case"release-notes":return L.join(s,"operations","release-notes.md");case"state":return L.join(s,"state.md");case"audit":return L.join(s,"audit.md");case"analysis-plan":return L.join(s,"discovery","analysis-plan.md");case"current-state-analysis":return L.join(s,"discovery","current-state-analysis.md");case"regression-baseline":return L.join(s,"discovery","regression-baseline.md");case"change-impact":return L.join(s,"discovery","change-impact.md");case"static-model":return L.join(s,"discovery","static-model.md");case"dynamic-model":return L.join(s,"discovery","dynamic-model.md");case"WORKFLOW_ROUTING":return L.join(s,"inception","plans","workflow-routing.md");case"requirements-qa":return L.join(s,"inception","requirements","requirements-analysis-questions.md");case"requirements":return L.join(s,"inception","requirements","requirements.md");case"personas":return L.join(s,"inception","user-stories","personas.md");case"user-stories":return L.join(s,"inception","user-stories","stories.md");case"execution-plan":return L.join(s,"inception","plans","execution-plan.md");case"units-generation":return L.join(s,"inception","application-design","unit-of-work.md");case"unit-dependency":return L.join(s,"inception","application-design","unit-of-work-dependency.md");case"unit-story-map":return L.join(s,"inception","application-design","unit-of-work-story-map.md");default:throw new Error(`Unknown artifact type: ${n}`)}}async function Xn(e,t,n,r,o,s){let i=lt(e,t,n,o,s),a=await ie.pathExists(i);try{await ie.ensureDir(L.dirname(i)),await ie.writeFile(i,r,"utf-8")}catch(c){let l=c;throw l.code==="ENOSPC"?(console.error(`[Artifacts] Failed to write ${n} artifact: Disk full`),console.error("[Artifacts] Please free up disk space and try again."),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: Disk is full. Please free up space and retry.`)):l.code==="EACCES"||l.code==="EPERM"?(console.error(`[Artifacts] Failed to write ${n} artifact: Permission denied`),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: Permission denied for ${i}`)):l.code==="EROFS"?(console.error(`[Artifacts] Failed to write ${n} artifact: Read-only filesystem`),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: Filesystem is read-only`)):(console.error(`[Artifacts] Failed to write ${n} artifact: ${l.message}`),console.error(`[Artifacts] Path: ${i}`),new Error(`Failed to write ${n} artifact: ${l.message}`))}if(a)try{let c=L.join(e,"aidlc-docs",t,"manifest.json"),{cascadeInvalidation:l,loadManifest:u,saveManifest:d,computeChecksum:p}=await Promise.resolve().then(()=>(Z(),vn)),f=u(c);if(f){let m=i.replace(/\\/g,"/"),g=f.artifacts.find(y=>y.path===m||y.path.endsWith(L.basename(i)));if(g){let y=p(i);y&&(g.checksum=y,g.updated_at=new Date().toISOString(),d(c,f)),l(c,g.id)}}}catch(c){console.error("[Artifacts] Cascade invalidation after write failed:",c)}}async function zi(e,t){let n=L.join(e,"aidlc-docs",t,"discovery");await ie.ensureDir(n)}async function Dp(e,t,n){let r=L.join(e,"aidlc-docs",t,"audit.md");await ie.ensureDir(L.dirname(r)),await ie.pathExists(r)?await ie.appendFile(r,`
|
|
24
24
|
`+n,"utf-8"):await ie.writeFile(r,`# Audit Log
|
|
25
25
|
|
|
26
26
|
${n}`,"utf-8")}var L,ie,Qi=U(()=>{"use strict";L=b(require("path"),1),ie=b(X(),1)});function pf(){return{current_level:0,total_transitions:0,rejection_count:0,rejection_rate:0,incident_count:0,last_level_change:null,level_history:[],consecutive_rejections:0,transition_history:[]}}function Te(e){try{let t=e||process.cwd(),n=(0,Ko.join)(t,ff);if(!(0,Lt.existsSync)(n))return pf();let r=(0,Lt.readFileSync)(n,"utf-8"),o=JSON.parse(r);return o.consecutive_rejections===void 0&&(o.consecutive_rejections=0),Array.isArray(o.transition_history)||(o.transition_history=[]),o}catch(t){return console.error("Error loading trust state:",t),pf()}}function pa(e,t){try{let n=t||process.cwd(),r=(0,Ko.join)(n,".olympus"),o=(0,Ko.join)(n,ff);(0,Lt.existsSync)(r)||(0,Lt.mkdirSync)(r,{recursive:!0}),(0,Lt.writeFileSync)(o,JSON.stringify(e,null,2),"utf-8")}catch(n){console.error("Error saving trust state:",n)}}function Db(e){return e.total_transitions>=50&&e.rejection_rate<.02&&e.incident_count===0?3:e.total_transitions>=20&&e.rejection_rate<.05?2:e.total_transitions>=10?1:0}function fa(e,t,n,r){let o=e.total_transitions+1,s=n?e.rejection_count+1:e.rejection_count,i=s/o,a=n?e.consecutive_rejections+1:0,c={success:t,rejected:n,metadata:r,timestamp:new Date().toISOString()},l=[...e.transition_history,c].slice(-100),u={...e,total_transitions:o,rejection_count:s,rejection_rate:i,consecutive_rejections:a,transition_history:l},d=Db(u);if(d!==e.current_level){let p={from:e.current_level,to:d,reason:d>e.current_level?"Qualification threshold met":"Metrics degraded",timestamp:new Date().toISOString()};return{...u,current_level:d,last_level_change:p.timestamp,level_history:[...e.level_history,p]}}return u}function mf(e,t){return t>=e}var Lt,Ko,ff,sn=U(()=>{"use strict";Lt=require("fs"),Ko=require("path"),ff=".olympus/trust-state.json"});function ue(e){let t={...e,id:(0,hf.randomUUID)(),timestamp:new Date().toISOString(),verified:!1,verification_count:0,last_useful:new Date().toISOString()},n=t.scope==="global"?pe():_t(t.project_path);Hn(t.project_path);let r=(0,an.join)(n,"discoveries.jsonl");return Gn(r),(0,He.appendFileSync)(r,JSON.stringify(t)+`
|
|
@@ -309,7 +309,7 @@ Generate code for this unit according to the spec above.
|
|
|
309
309
|
- Create/modify files listed in "Target Files"
|
|
310
310
|
- Write tests per "Test Requirements"
|
|
311
311
|
- Meet all "Acceptance Criteria"
|
|
312
|
-
- Do NOT modify files outside the target list without justification`}async function UT(e,t,n){let r=(0,ir.join)(e,"aidlc-docs",t),o=(0,ir.join)(r,"construction"),s=(0,ir.join)(o,n,"spec.md"),i=(0,ar.existsSync)(s)?(0,ar.readFileSync)(s,"utf-8"):"",a=(0,ir.join)(r,"inception","intent.md"),c=(0,ar.existsSync)(a)?(0,ar.readFileSync)(a,"utf-8"):"",l=Oa(c,["Business Requirements","Technical Specification"]),u=Oa(c,["Problem Statement","Success
|
|
312
|
+
- Do NOT modify files outside the target list without justification`}async function UT(e,t,n){let r=(0,ir.join)(e,"aidlc-docs",t),o=(0,ir.join)(r,"construction"),s=(0,ir.join)(o,n,"spec.md"),i=(0,ar.existsSync)(s)?(0,ar.readFileSync)(s,"utf-8"):"",a=(0,ir.join)(r,"inception","intent.md"),c=(0,ar.existsSync)(a)?(0,ar.readFileSync)(a,"utf-8"):"",l=Oa(c,["Business Requirements","Technical Specification"]),u=Oa(c,["Problem Statement","Success Criteria"]),d=$a(i),p="";try{let{getArchitectureContext:_}=await Promise.resolve().then(()=>(Jr(),Zo)),h=[...new Set(d.map(v=>{let S=v.replace(/\\/g,"/").split("/").filter(Boolean);return S[0]==="src"&&S.length>1?S[1]:S[0]||""}).filter(Boolean))];h.length>0&&(p=await _(e,h))}catch{}let f="";try{let{loadPathwayBehaviors:_}=await Promise.resolve().then(()=>(ls(),gm)),{loadCheckpoint:h}=await Promise.resolve().then(()=>(le(),Tp)),v=await h(e,t);if(v?.pathway_type){let S=await _(v.pathway_type);if(S){let E=S.rules.map(j=>`- **${j.name}**: ${j.description}`).join(`
|
|
313
313
|
`),k=S.qualityGateChecklist.map(j=>`- [ ] ${j}`).join(`
|
|
314
314
|
`);f=`
|
|
315
315
|
## Pathway Rules (${v.pathway_type})
|
|
@@ -1162,11 +1162,11 @@ This feature addresses a specific need identified by stakeholders. The goal is t
|
|
|
1162
1162
|
- **Developer**: Engineers who will integrate with, maintain, and extend this feature
|
|
1163
1163
|
- **Administrator**: System administrators who will configure, monitor, and manage this feature
|
|
1164
1164
|
|
|
1165
|
-
## Success
|
|
1165
|
+
## Success Criteria
|
|
1166
1166
|
|
|
1167
|
-
- **
|
|
1168
|
-
- **
|
|
1169
|
-
- **
|
|
1167
|
+
- **Criterion 1**: Successful implementation with all acceptance criteria met (target: 100% completion)
|
|
1168
|
+
- **Criterion 2**: Zero critical bugs in production within first 30 days (target: 0 P0/P1 issues)
|
|
1169
|
+
- **Criterion 3**: Positive user feedback and adoption rate (target: >80% user satisfaction)
|
|
1170
1170
|
|
|
1171
1171
|
## Constraints & Boundaries
|
|
1172
1172
|
|
|
@@ -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.3";
|
|
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.3';
|
|
44
44
|
/**
|
|
45
45
|
* Read a content file from the resources/ directory.
|
|
46
46
|
*
|
package/package.json
CHANGED
|
@@ -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
|
|
@@ -160,11 +160,125 @@ For medium priority cases, execute user stories if ANY of these apply:
|
|
|
160
160
|
|
|
161
161
|
## Step 4: Include Mandatory Story Artifacts in Plan
|
|
162
162
|
- **ALWAYS** include these mandatory artifacts in the story plan:
|
|
163
|
-
- [ ] Generate stories.md with user stories following INVEST criteria
|
|
164
|
-
- [ ] Generate personas.md with user archetypes and characteristics
|
|
163
|
+
- [ ] Generate `stories.md` with user stories following INVEST criteria
|
|
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
|
|
169
|
+
- [ ] **Conditional** (> 5 stories): Generate individual story files in `stories/` subdirectory
|
|
170
|
+
|
|
171
|
+
### Story Naming Convention (MANDATORY)
|
|
172
|
+
|
|
173
|
+
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.
|
|
174
|
+
|
|
175
|
+
### Story File Organization
|
|
176
|
+
|
|
177
|
+
Story artifacts are placed in `aidlc-docs/{workflow-id}/inception/user-stories/`.
|
|
178
|
+
|
|
179
|
+
**<= 5 stories**: All stories go in `stories.md` using the inline template below. No individual files needed.
|
|
180
|
+
|
|
181
|
+
**> 5 stories**: `stories.md` becomes a **summary index** and individual story files are created:
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
aidlc-docs/{workflow-id}/inception/user-stories/
|
|
185
|
+
├── stories.md ← summary index (always present)
|
|
186
|
+
├── personas.md ← user personas (always present)
|
|
187
|
+
└── stories/ ← individual files (> 5 stories only)
|
|
188
|
+
├── S-001-{slug}.md
|
|
189
|
+
├── S-002-{slug}.md
|
|
190
|
+
└── ...
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Stories Index Template (stories.md)
|
|
194
|
+
|
|
195
|
+
When individual files exist (> 5 stories), `stories.md` serves as the overview:
|
|
196
|
+
|
|
197
|
+
```markdown
|
|
198
|
+
# User Stories
|
|
199
|
+
|
|
200
|
+
Total: {N} stories | Must: {n} | Should: {n} | Could: {n}
|
|
201
|
+
|
|
202
|
+
| ID | Title | Persona | Priority | Status | Dependencies |
|
|
203
|
+
|----|-------|---------|----------|--------|--------------|
|
|
204
|
+
| S-001 | {title} | {persona} | must | draft | None |
|
|
205
|
+
| S-002 | {title} | {persona} | should | draft | Requires S-001 |
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
When all stories are inline (<= 5 stories), `stories.md` contains the full story details using the inline template below.
|
|
209
|
+
|
|
210
|
+
### Inline Story Template (MANDATORY for <= 5 stories)
|
|
211
|
+
|
|
212
|
+
Each story in `stories.md` MUST follow this structure:
|
|
213
|
+
|
|
214
|
+
```markdown
|
|
215
|
+
### S-NNN: {Story Title}
|
|
216
|
+
|
|
217
|
+
**Persona**: {persona name from personas.md}
|
|
218
|
+
**Priority**: {must | should | could}
|
|
219
|
+
|
|
220
|
+
> As a **{persona}**, I want **{capability}**, so that **{benefit}**.
|
|
221
|
+
|
|
222
|
+
#### Acceptance Criteria
|
|
223
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
224
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
225
|
+
|
|
226
|
+
#### Edge Cases
|
|
227
|
+
| Scenario | Expected Behavior |
|
|
228
|
+
|----------|-------------------|
|
|
229
|
+
| {edge case} | {what should happen} |
|
|
230
|
+
|
|
231
|
+
#### Dependencies
|
|
232
|
+
- Requires: {S-NNN or "None"}
|
|
233
|
+
- Enables: {S-NNN or "None"}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Individual Story File Template (MANDATORY for > 5 stories)
|
|
237
|
+
|
|
238
|
+
**Path**: `aidlc-docs/{workflow-id}/inception/user-stories/stories/{S-NNN}-{slug}.md`
|
|
239
|
+
|
|
240
|
+
```markdown
|
|
241
|
+
---
|
|
242
|
+
id: "S-NNN"
|
|
243
|
+
title: "{Story Title}"
|
|
244
|
+
persona: "{persona name}"
|
|
245
|
+
priority: "{must|should|could}"
|
|
246
|
+
status: "draft"
|
|
247
|
+
unit: "{U-NNN or unassigned}"
|
|
248
|
+
created: "{ISO-8601}"
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
# S-NNN: {Story Title}
|
|
252
|
+
|
|
253
|
+
> As a **{persona}**, I want **{capability}**, so that **{benefit}**.
|
|
254
|
+
|
|
255
|
+
## Acceptance Criteria
|
|
256
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
257
|
+
- **Given** {precondition}, **when** {action}, **then** {expected result}
|
|
258
|
+
|
|
259
|
+
## Edge Cases
|
|
260
|
+
| Scenario | Expected Behavior |
|
|
261
|
+
|----------|-------------------|
|
|
262
|
+
| {edge case} | {what should happen} |
|
|
263
|
+
|
|
264
|
+
## Dependencies
|
|
265
|
+
- Requires: {S-NNN or "None"}
|
|
266
|
+
- Enables: {S-NNN or "None"}
|
|
267
|
+
|
|
268
|
+
## Technical Notes
|
|
269
|
+
{Optional — implementation hints, API considerations, or constraints
|
|
270
|
+
relevant to this story. Omit if not needed.}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Story Rules
|
|
274
|
+
|
|
275
|
+
- Every story MUST have at least one Given/When/Then acceptance criterion
|
|
276
|
+
- Edge Cases table is MANDATORY for stories with priority `must`, optional for `should`/`could`
|
|
277
|
+
- Dependencies track inter-story ordering — use "None" when the story is independent
|
|
278
|
+
- Priority uses MoSCoW: `must` (required), `should` (important), `could` (nice-to-have)
|
|
279
|
+
- Individual story files include YAML frontmatter with `status` and `unit` fields for traceability
|
|
280
|
+
- The `unit` field links to the unit this story will be assigned to (set during Units Generation, `unassigned` until then)
|
|
281
|
+
- When individual files exist, `stories.md` MUST be kept in sync as the index
|
|
168
282
|
|
|
169
283
|
## Step 5: Present Story Options
|
|
170
284
|
- Include different approaches for story breakdown in the plan document:
|
|
@@ -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
|
|
|
@@ -586,7 +606,7 @@ Generate 4 questions (scale up/down based on trust level):
|
|
|
586
606
|
1. **Functional Requirements**: What specific capabilities must this feature deliver? (options: A. {list option}, B. {another}, etc.)
|
|
587
607
|
2. **Non-Functional Requirements**: What performance, security, or reliability constraints apply? (options: A. High availability required, B. Security-sensitive data, C. Performance-critical path, D. Standard requirements, E. Other)
|
|
588
608
|
3. **Constraints**: What technical or business constraints must the implementation respect? (options around timeline, compatibility, team skills, platform, budget, etc.)
|
|
589
|
-
4. **Success
|
|
609
|
+
4. **Success Criteria**: How will we measure that this feature succeeded? (options around quantitative metrics, qualitative goals, user adoption, etc.)
|
|
590
610
|
|
|
591
611
|
Update checkpoint: `inception_stages["requirements-analysis"].questions_file = "aidlc-docs/{workflowId}/inception/requirements/requirements-analysis-questions.md"`
|
|
592
612
|
|
|
@@ -630,7 +650,7 @@ created: "{ISO-8601}"
|
|
|
630
650
|
- **FR-001**: {requirement from answers}
|
|
631
651
|
|
|
632
652
|
## User Stories
|
|
633
|
-
- **
|
|
653
|
+
- **S-001**: As a {persona}, I want {action} so that {benefit}
|
|
634
654
|
- Acceptance: {testable criterion}
|
|
635
655
|
|
|
636
656
|
## Business Rules
|
|
@@ -755,7 +775,7 @@ Read `intent.md` and `requirements.md` for context.
|
|
|
755
775
|
- **Goals**: {what they want to achieve}
|
|
756
776
|
- **Pain Points**: {current frustrations}
|
|
757
777
|
- **Technical Level**: {novice | intermediate | expert}
|
|
758
|
-
- **Key User Stories**:
|
|
778
|
+
- **Key User Stories**: S-001, S-002, ...
|
|
759
779
|
```
|
|
760
780
|
|
|
761
781
|
**`aidlc-docs/{workflowId}/inception/user-stories/stories.md`** (Gherkin format):
|
|
@@ -763,7 +783,7 @@ Read `intent.md` and `requirements.md` for context.
|
|
|
763
783
|
```markdown
|
|
764
784
|
# User Stories: {Title}
|
|
765
785
|
|
|
766
|
-
##
|
|
786
|
+
## S-001: {Short title}
|
|
767
787
|
**As a** {persona}, **I want** {action} **so that** {benefit}.
|
|
768
788
|
|
|
769
789
|
### Acceptance Criteria
|
|
@@ -777,7 +797,7 @@ Then {expected outcome}
|
|
|
777
797
|
|
|
778
798
|
**Priority**: Must Have | Should Have | Nice to Have
|
|
779
799
|
**Persona**: {persona name}
|
|
780
|
-
**Dependencies**: {
|
|
800
|
+
**Dependencies**: {S-00X or none}
|
|
781
801
|
```
|
|
782
802
|
|
|
783
803
|
### 8b. Update state (triple write)
|
|
@@ -1147,7 +1167,7 @@ Read `requirements/requirements.md`, `user-stories/stories.md`, and `application
|
|
|
1147
1167
|
- **Scope**: {one-sentence scope description}
|
|
1148
1168
|
- **Phase**: construction
|
|
1149
1169
|
- **Estimated Effort**: {N}
|
|
1150
|
-
- **User Stories**:
|
|
1170
|
+
- **User Stories**: S-001, S-002
|
|
1151
1171
|
- **NFRs**: SEC-001, PERF-001
|
|
1152
1172
|
- **Components**: {component names}
|
|
1153
1173
|
- **Folder**: `construction/UNIT-001-{module-name-kebab}/`
|
|
@@ -1187,9 +1207,9 @@ graph TD
|
|
|
1187
1207
|
|
|
1188
1208
|
| User Story | Unit | Priority | Notes |
|
|
1189
1209
|
|-----------|------|---------|-------|
|
|
1190
|
-
|
|
|
1191
|
-
|
|
|
1192
|
-
|
|
|
1210
|
+
| S-001 | U-001: {Name A} | Must Have | |
|
|
1211
|
+
| S-002 | U-001: {Name A} | Should Have | |
|
|
1212
|
+
| S-003 | U-002: {Name B} | Must Have | |
|
|
1193
1213
|
```
|
|
1194
1214
|
|
|
1195
1215
|
### 11b. Update state (triple write)
|