olympus-ai 4.5.2 → 4.5.4

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.
Files changed (33) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/features/workflow-engine/alignment.js +2 -2
  3. package/dist/features/workflow-engine/alignment.js.map +1 -1
  4. package/dist/features/workflow-engine/bolts/bolt-planner.d.ts.map +1 -1
  5. package/dist/features/workflow-engine/bolts/bolt-planner.js +19 -0
  6. package/dist/features/workflow-engine/bolts/bolt-planner.js.map +1 -1
  7. package/dist/features/workflow-engine/bolts/bolt-spec-validator.d.ts +1 -1
  8. package/dist/features/workflow-engine/bolts/bolt-spec-validator.d.ts.map +1 -1
  9. package/dist/features/workflow-engine/bolts/bolt-spec-validator.js +8 -0
  10. package/dist/features/workflow-engine/bolts/bolt-spec-validator.js.map +1 -1
  11. package/dist/features/workflow-engine/bolts/express-bolt-factory.d.ts.map +1 -1
  12. package/dist/features/workflow-engine/bolts/express-bolt-factory.js +2 -0
  13. package/dist/features/workflow-engine/bolts/express-bolt-factory.js.map +1 -1
  14. package/dist/features/workflow-engine/code-generation-executor.js +1 -1
  15. package/dist/features/workflow-engine/code-generation-executor.js.map +1 -1
  16. package/dist/features/workflow-engine/engine.js +4 -4
  17. package/dist/features/workflow-engine/inception/stages/requirements-analysis.js +1 -1
  18. package/dist/features/workflow-engine/inception/stages/requirements-analysis.js.map +1 -1
  19. package/dist/features/workflow-engine/phase-types.d.ts +4 -0
  20. package/dist/features/workflow-engine/phase-types.d.ts.map +1 -1
  21. package/dist/features/workflow-engine/phase-types.js.map +1 -1
  22. package/dist/features/workflow-engine/validation.js +1 -1
  23. package/dist/features/workflow-engine/validation.js.map +1 -1
  24. package/dist/hooks/olympus-hooks.cjs +7 -7
  25. package/dist/installer/index.d.ts +1 -1
  26. package/dist/installer/index.js +1 -1
  27. package/package.json +1 -1
  28. package/resources/rules/construction/bolt-planning.md +24 -3
  29. package/resources/rules/construction/bolt-review.md +13 -0
  30. package/resources/rules/construction/code-generation.md +1 -0
  31. package/resources/rules/inception/user-stories.md +81 -4
  32. package/resources/rules/inception/workflow-planning.md +4 -0
  33. package/resources/skills/plan/SKILL.md +12 -9
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "olympus-ai",
3
- "version": "4.5.2",
3
+ "version": "4.5.4",
4
4
  "description": "Olympus: Multi-agent orchestration for Claude Code. Summon the gods of code.",
5
5
  "author": {
6
6
  "name": "mikev10",
@@ -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 Metrics'],
61
- 'bolt-to-intent': ['Problem Statement', 'Success Metrics'],
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,iBAAiB,CAAC;IAC1D,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;CAC3D,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,cAAc,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAC1B,OAAe,EACf,UAA+C;IAE/C,MAAM,eAAe,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAEnD,kFAAkF;IAClF,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,6CAA6C;QAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,4EAA4E;IAC5E,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAC/D,IAAI,kBAAkB,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,YAAY,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,wDAAwD;IACxD,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;YACpD,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,aAAqB,EACrB,aAAqB,EACrB,UAA+C;IAE/C,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAEpE,0CAA0C;QAC1C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,iBAAiB,EAAE,GAAG;gBACtB,mBAAmB,EAAE,GAAG;gBACxB,aAAa,EAAE,EAAE;gBACjB,MAAM,EAAE,IAAI;aACb,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YACnD,IAAI,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3E,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,iCAAiC;QAE9E,0BAA0B;QAC1B,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,gBAAgB,IAAI,SAAS,CAAC;QAE7C,OAAO;YACL,iBAAiB,EAAE,gBAAgB;YACnC,mBAAmB,EAAE,kBAAkB;YACvC,aAAa,EAAE,OAAO;YACtB,MAAM;SACP,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;QACrE,OAAO;YACL,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC,gCAAgC,CAAC;YACjD,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAA+C;IAE/C,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEnD,OAAO;QACL;YACE,QAAQ,EAAE,SAAS,CAAC,YAAY;YAChC,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;SACb;QACD;YACE,QAAQ,EAAE,SAAS,CAAC,UAAU;YAC9B,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,IAAI;SACb;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,aAAqB,EACrB,aAAqB,EACrB,QAAgB,EAChB,QAAgB,EAChB,UAA+C;IAE/C,IAAI,CAAC;QACH,+BAA+B;QAC/B,MAAM,YAAY,GAAG,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;QAEnF,wCAAwC;QACxC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAEpE,oCAAoC;QACpC,iDAAiD;QACjD,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,MAAM,UAAU,GAA8B;YAC5C,eAAe,EAAE,eAAe;YAChC,mBAAmB,EAAE,mBAAmB;YACxC,MAAM,EAAE,SAAS;SAClB,CAAC;QAEF,gDAAgD;QAChD,6CAA6C;QAC7C,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC;QAEjE,gCAAgC;QAChC,MAAM,KAAK,GAAmB;YAC5B,kBAAkB,EAAE,QAAQ;YAC5B,kBAAkB,EAAE,QAAQ;YAC5B,YAAY;YACZ,UAAU;YACV,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAE5D,+BAA+B;QAC/B,OAAO;YACL,kBAAkB,EAAE,QAAQ;YAC5B,kBAAkB,EAAE,QAAQ;YAC5B,YAAY,EAAE;gBACZ,iBAAiB,EAAE,CAAC;gBACpB,mBAAmB,EAAE,CAAC;gBACtB,aAAa,EAAE,CAAC,uBAAuB,CAAC;gBACxC,MAAM,EAAE,KAAK;aACd;YACD,UAAU,EAAE;gBACV,eAAe,EAAE,CAAC;gBAClB,mBAAmB,EAAE,EAAE;gBACvB,MAAM,EAAE,KAAK;aACd;YACD,gBAAgB,EAAE,KAAK;YACvB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,iBAAiB,CAC/B,eAAuB,EACvB,aAAqB,EACrB,iBAAyB,EACzB,UAA0B,EAC1B,cAAkC,EAClC,QAAgB,EAChB,QAAgB,EAChB,MAAc;IAEd,mBAAmB;IACnB,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEtG,wBAAwB;IACxB,MAAM,SAAS,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE1G,wBAAwB;IACxB,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,IAAI,SAAS,CAAC,gBAAgB,CAAC;IAE1E,OAAO;QACL,WAAW;QACX,SAAS;QACT,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,aAAqB,EAAE,UAAkB;IAC5E,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,UAAU,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,UAAU,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG,aAAa,GAAG,UAAU,CAAC;IACrD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAAoB,EAAE,KAAqB;IAC/E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAA+C;IACrF,OAAO,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/alignment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bolt-planner.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-planner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EAGR,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,qBAAqB,GACrB,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;gBAExB,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM;CAKxD;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,QAAQ,EAAE,GAChB,cAAc,CAwDhB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,QAAQ,EAAE,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAwGf;AAaD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,oBAAoB,GAC/B,IAAI,CAwBN;AAID,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAwCR;AAWD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,QAAQ,EAAE,CA4DZ;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,oBAAoB,EAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC,CAY1D;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,QAAQ,EAAE,EACjB,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,oBAAoB,EAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC,CAmB1D;AAED,eAAO,MAAM,WAAW;;;;;;;;CAQvB,CAAC"}
1
+ {"version":3,"file":"bolt-planner.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-planner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EAGR,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,qBAAqB,GACrB,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;gBAExB,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM;CAKxD;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,QAAQ,EAAE,GAChB,cAAc,CAwDhB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,QAAQ,EAAE,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAyHf;AAaD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,oBAAoB,GAC/B,IAAI,CAwBN;AAID,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CA0CR;AAaD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,QAAQ,EAAE,CA8DZ;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,oBAAoB,EAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC,CAY1D;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,QAAQ,EAAE,EACjB,IAAI,EAAE,gBAAgB,EACtB,UAAU,EAAE,oBAAoB,EAChC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC,CAmB1D;AAED,eAAO,MAAM,WAAW;;;;;;;;CAQvB,CAAC"}
@@ -66,6 +66,8 @@ export async function writeBoltArtifacts(bolts, projectPath, workflowId) {
66
66
  for (const bolt of bolts) {
67
67
  const boltDir = path.join(projectPath, 'aidlc-docs', workflowId, 'construction', 'bolts', bolt.id);
68
68
  await fs.ensureDir(boltDir);
69
+ const reqYaml = JSON.stringify(bolt.requirements ?? []);
70
+ const storiesYaml = JSON.stringify(bolt.stories ?? []);
69
71
  const frontmatter = [
70
72
  '---',
71
73
  `id: ${bolt.id}`,
@@ -75,6 +77,8 @@ export async function writeBoltArtifacts(bolts, projectPath, workflowId) {
75
77
  `depth_target: ${bolt.depth_target}`,
76
78
  `express_mode: ${bolt.express_mode}`,
77
79
  `estimated_effort_hours: ${bolt.estimated_effort_hours}`,
80
+ `requirements: ${reqYaml}`,
81
+ `stories: ${storiesYaml}`,
78
82
  '---',
79
83
  ].join('\n');
80
84
  const acList = bolt.acceptance_criteria.map((c) => `- ${c}`).join('\n');
@@ -84,6 +88,12 @@ export async function writeBoltArtifacts(bolts, projectPath, workflowId) {
84
88
  const depsList = bolt.dependencies.length > 0
85
89
  ? bolt.dependencies.map((d) => `- ${d}`).join('\n')
86
90
  : 'None';
91
+ const reqList = (bolt.requirements ?? []).length > 0
92
+ ? (bolt.requirements ?? []).join(', ')
93
+ : 'None';
94
+ const storiesList = (bolt.stories ?? []).length > 0
95
+ ? (bolt.stories ?? []).join(', ')
96
+ : 'None';
87
97
  const specContent = [
88
98
  frontmatter,
89
99
  '',
@@ -105,6 +115,11 @@ export async function writeBoltArtifacts(bolts, projectPath, workflowId) {
105
115
  '',
106
116
  depsList,
107
117
  '',
118
+ '## Traceability',
119
+ '',
120
+ `- **Requirements**: ${reqList}`,
121
+ `- **Stories**: ${storiesList}`,
122
+ '',
108
123
  ].join('\n');
109
124
  await fs.writeFile(path.join(boltDir, 'spec.md'), specContent, 'utf-8');
110
125
  }
@@ -200,6 +215,8 @@ export function buildDecompositionPrompt(unit, intent, depth) {
200
215
  '- `target_files` (string[]): Relative file paths to modify/create',
201
216
  '- `dependencies` (string[]): IDs of preceding bolts (or empty array)',
202
217
  '- `estimated_effort_hours` (number): Estimated duration in hours',
218
+ '- `requirements` (string[]): requirement IDs from requirements.md that this bolt addresses (e.g. ["FR-1", "FR-3"])',
219
+ '- `stories` (string[]): story IDs from stories.md that this bolt addresses (e.g. ["S-001"])',
203
220
  '',
204
221
  'Return ONLY the JSON array, no other text.',
205
222
  ].join('\n');
@@ -241,6 +258,8 @@ export function parseAgentResponse(response, unit, startIndex, depth) {
241
258
  depth_target: depth,
242
259
  express_mode: expressMode,
243
260
  estimated_effort_hours: raw.estimated_effort_hours || 0,
261
+ requirements: raw.requirements ?? [],
262
+ stories: raw.stories ?? [],
244
263
  };
245
264
  });
246
265
  const existingBoltsTotal = startIndex - 1;
@@ -1 +1 @@
1
- {"version":3,"file":"bolt-planner.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-planner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bolt-planner.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-planner.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@ export interface ValidationContext {
4
4
  existing_bolts_total: number;
5
5
  }
6
6
  export declare class BoltSpecValidator {
7
- static validate(spec: BoltSpec, context: ValidationContext): void;
7
+ static validate(spec: BoltSpec, context: ValidationContext): string[];
8
8
  }
9
9
  //# sourceMappingURL=bolt-spec-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bolt-spec-validator.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-spec-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAMD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;CAkDlE"}
1
+ {"version":3,"file":"bolt-spec-validator.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-spec-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAMD,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,EAAE;CA8DtE"}
@@ -25,6 +25,14 @@ export class BoltSpecValidator {
25
25
  if (!Number.isInteger(spec.sequence) || spec.sequence < 1) {
26
26
  throw new BoltValidationError('INVALID_SEQUENCE', 'BoltSpec.sequence must be a positive integer (>= 1).');
27
27
  }
28
+ const warnings = [];
29
+ if (spec.requirements !== undefined && spec.requirements.length === 0) {
30
+ warnings.push('Bolt has no requirement traceability');
31
+ }
32
+ if (spec.stories !== undefined && spec.stories.length === 0) {
33
+ warnings.push('Bolt has no story traceability');
34
+ }
35
+ return warnings;
28
36
  }
29
37
  }
30
38
  //# sourceMappingURL=bolt-spec-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bolt-spec-validator.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-spec-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOxD,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAClD,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAc,EAAE,OAA0B;QACxD,IAAI,OAAO,CAAC,sBAAsB,IAAI,kBAAkB,EAAE,CAAC;YACzD,MAAM,IAAI,mBAAmB,CAC3B,uBAAuB,EACvB,QAAQ,IAAI,CAAC,cAAc,gBAAgB,kBAAkB,sBAAsB,kBAAkB,YAAY,CAClH,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,oBAAoB,IAAI,eAAe,EAAE,CAAC;YACpD,MAAM,IAAI,mBAAmB,CAC3B,oBAAoB,EACpB,+BAA+B,eAAe,gBAAgB,eAAe,oBAAoB,CAClG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,mBAAmB,CAC3B,mBAAmB,EACnB,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,mBAAmB,CAC3B,kBAAkB,EAClB,sDAAsD,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"bolt-spec-validator.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/bolt-spec-validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOxD,MAAM,eAAe,GAAG,yBAAyB,CAAC;AAClD,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAc,EAAE,OAA0B;QACxD,IAAI,OAAO,CAAC,sBAAsB,IAAI,kBAAkB,EAAE,CAAC;YACzD,MAAM,IAAI,mBAAmB,CAC3B,uBAAuB,EACvB,QAAQ,IAAI,CAAC,cAAc,gBAAgB,kBAAkB,sBAAsB,kBAAkB,YAAY,CAClH,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,oBAAoB,IAAI,eAAe,EAAE,CAAC;YACpD,MAAM,IAAI,mBAAmB,CAC3B,oBAAoB,EACpB,+BAA+B,eAAe,gBAAgB,eAAe,oBAAoB,CAClG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,mBAAmB,CAC3B,mBAAmB,EACnB,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,mBAAmB,CAC3B,wBAAwB,EACxB,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,mBAAmB,CAC3B,kBAAkB,EAClB,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"express-bolt-factory.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/express-bolt-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGvG;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAExF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,oBAAoB,GAC/B,QAAQ,CAwCV"}
1
+ {"version":3,"file":"express-bolt-factory.d.ts","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/express-bolt-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGvG;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAExF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,oBAAoB,GAC/B,QAAQ,CA0CV"}
@@ -54,6 +54,8 @@ export function createExpressBolt(unit, intent, checkpoint) {
54
54
  depth_target: 1,
55
55
  express_mode: true,
56
56
  estimated_effort_hours: unit.estimated_effort,
57
+ requirements: [],
58
+ stories: [],
57
59
  };
58
60
  return bolt;
59
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"express-bolt-factory.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/express-bolt-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,OAAoB;IAC7E,OAAO,WAAW,IAAI,CAAC,IAAI,OAAO,KAAK,QAAQ,CAAC;AAClD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAsB,EACtB,MAAc,EACd,UAAgC;IAEhC,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB;QACjD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,MAAM;QACnD,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAExD,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAW,CAAC;IAC5B,MAAM,kBAAkB,GACtB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAClF,CAAC,CAAC,OAAO,CAAC,mBAAmB;QAC7B,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAE3C,4CAA4C;IAC5C,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,IAAI,GAAa;QACrB,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,cAAc,EAAE,IAAI,CAAC,EAAE;QACvB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK;QAC7C,mBAAmB,EAAE,kBAAkB;QACvC,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,IAAI,CAAC,gBAAgB;KAC9C,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"express-bolt-factory.js","sourceRoot":"","sources":["../../../../src/features/workflow-engine/bolts/express-bolt-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,OAAoB;IAC7E,OAAO,WAAW,IAAI,CAAC,IAAI,OAAO,KAAK,QAAQ,CAAC;AAClD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAsB,EACtB,MAAc,EACd,UAAgC;IAEhC,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB;QACjD,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,MAAM;QACnD,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,WAAW,GAAG,aAAa,GAAG,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAExD,gEAAgE;IAChE,MAAM,OAAO,GAAG,IAAW,CAAC;IAC5B,MAAM,kBAAkB,GACtB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAClF,CAAC,CAAC,OAAO,CAAC,mBAAmB;QAC7B,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAE3C,4CAA4C;IAC5C,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,IAAI,GAAa;QACrB,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,SAAS;QACjB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,cAAc,EAAE,IAAI,CAAC,EAAE;QACvB,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK;QAC7C,mBAAmB,EAAE,kBAAkB;QACvC,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,IAAI;QAClB,sBAAsB,EAAE,IAAI,CAAC,gBAAgB;QAC7C,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -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 Metrics',
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 Metrics
855
+ ## Success Criteria
856
856
 
857
- - **Metric 1**: Successful implementation with all acceptance criteria met (target: 100% completion)
858
- - **Metric 2**: Zero critical bugs in production within first 30 days (target: 0 P0/P1 issues)
859
- - **Metric 3**: Positive user feedback and adoption rate (target: >80% user satisfaction)
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 Metrics\n');
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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"}
@@ -426,6 +426,10 @@ export interface BoltSpec extends HierarchicalNode {
426
426
  express_mode: boolean;
427
427
  /** Estimated duration in hours. Sourced from bolt spec frontmatter. */
428
428
  estimated_effort_hours: number;
429
+ /** Requirement IDs this bolt satisfies (e.g. ['FR-1', 'FR-3']). */
430
+ requirements?: string[];
431
+ /** Story IDs this bolt satisfies (e.g. ['S-001', 'S-004']). */
432
+ stories?: string[];
429
433
  }
430
434
  /**
431
435
  * Runtime tracking record for a bolt's execution. Stored in
@@ -1 +1 @@
1
- {"version":3,"file":"phase-types.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/phase-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase-types.d.ts","sourceRoot":"","sources":["../../../src/features/workflow-engine/phase-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"phase-types.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/phase-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA2BH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsD;IAChF,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,cAAc;IACpB,iBAAiB,EAAE,cAAc;IACjC,QAAQ,EAAE,UAAU;CACrB,CAAC;AAkgBF;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,CAA0B;IAEvC,YAAY,IAA6B,EAAE,OAAe;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"phase-types.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/phase-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA2BH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsD;IAChF,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,cAAc;IACpB,iBAAiB,EAAE,cAAc;IACjC,QAAQ,EAAE,UAAU;CACrB,CAAC;AAwgBF;;;;GAIG;AACH,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACnC,IAAI,CAA0B;IAEvC,YAAY,IAA6B,EAAE,OAAe;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -39,7 +39,7 @@ export function clearFileCache() {
39
39
  const REQUIRED_SECTIONS = [
40
40
  'Problem Statement',
41
41
  'User Personas',
42
- 'Success Metrics',
42
+ 'Success Criteria',
43
43
  'Business Constraints',
44
44
  'Out of Scope',
45
45
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/features/workflow-engine/validation.ts"],"names":[],"mappings":"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"}
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 Metrics"]),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(`
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})
@@ -966,7 +966,7 @@ Do not use placeholder text \u2014 write real documentation.`}function Hv(e,t){l
966
966
  `),r=null,o=[];for(let s of n){let i=s.match(/^##\s+(.+)$/);i?(r&&t.set(r,o.join(`
967
967
  `)),r=i[1].trim(),o=[]):r&&o.push(s)}return r&&t.set(r,o.join(`
968
968
  `)),t}function Cb(e){let t=e.split(`
969
- `),n=0;for(let r of t)r.trim().match(/^[-*+]\s+/)&&n++;return n}function Rb(e,t,n){let r=[],o=null,s=bb(e);if(!s)return r.push(`${t}: Missing frontmatter`),{isValid:!1,blockingIssues:r,parentIntent:o};let i=["id","title","parent_intent","status","estimated_effort"],a=[];for(let y of i)s[y]||a.push(y);if(a.length>0)return r.push(`${t}: Missing frontmatter fields: ${a.join(", ")}`),{isValid:!1,blockingIssues:r,parentIntent:o};if(o=s.parent_intent,!n.has(o)&&!o.startsWith("intent-"))return r.push(`${t}: References non-existent parent intent: ${o}`),{isValid:!1,blockingIssues:r,parentIntent:o};let c=parseInt(s.estimated_effort,10);if(isNaN(c)||!vb.includes(c))return r.push(`${t}: Invalid effort estimate ${s.estimated_effort} (must be 1, 2, 4, 8, or 16)`),{isValid:!1,blockingIssues:r,parentIntent:o};let l=Tb(e),u=Eb(l),d=["Scope & Responsibility","Interface Contracts","Dependencies","Acceptance Criteria"],p=["Goal","Acceptance Criteria","Implementation Notes"],f=d.every(y=>u.has(y)),m=p.every(y=>u.has(y));if(!f&&!m){let y=d.filter(w=>!u.has(w));return r.push(`${t}: Missing sections: ${y.join(", ")}`),{isValid:!1,blockingIssues:r,parentIntent:o}}let g=u.get("Acceptance Criteria");if(g){if(Cb(g)===0)return r.push(`${t}: No acceptance criteria found`),{isValid:!1,blockingIssues:r,parentIntent:o}}else return r.push(`${t}: Acceptance Criteria section is empty`),{isValid:!1,blockingIssues:r,parentIntent:o};return{isValid:!0,blockingIssues:r,parentIntent:o}}async function da(e,t){let n=new Date().toISOString(),r=[],o;try{o=(0,Tn.readdirSync)(e,{withFileTypes:!0})}catch(m){let g=m;return console.error(`[Validation] Failed to read construction directory: ${g.message}`),console.error(`[Validation] Path: ${e}`),{passed:!1,coverage_percentage:0,blocking_issues:[g.code==="ENOENT"?"Units directory not found":g.code==="EACCES"||g.code==="EPERM"?"Permission denied reading units directory":`Failed to read units directory: ${g.message}`],timestamp:n}}let s=o.filter(m=>m.isDirectory()&&m.name!=="design"),i=o.filter(m=>m.isFile()&&m.name.endsWith(".md")&&m.name!=="design.md"),a=new Set,c=[];for(let m of s){let g=m.name,y=(0,ua.join)(e,m.name,"spec.md");(0,Tn.existsSync)(y)&&(a.add(g),c.push({unitId:g,filePath:y}))}for(let m of i){let g=m.name.replace(".md","");a.has(g)||(a.add(g),c.push({unitId:g,filePath:(0,ua.join)(e,m.name)}))}if(c.length===0)return{passed:!1,coverage_percentage:0,blocking_issues:["No unit files found in units directory"],timestamp:n};let l=new Set;try{let m=(0,Tn.readdirSync)(t).filter(g=>g.startsWith("INTENT-")&&g.endsWith(".md"));l=new Set(m.map(g=>g.replace(".md","")))}catch(m){let g=m;return console.error(`[Validation] Failed to read intents directory: ${g.message}`),console.error(`[Validation] Path: ${t}`),{passed:!1,coverage_percentage:0,blocking_issues:[g.code==="ENOENT"?"Intents directory not found":g.code==="EACCES"||g.code==="EPERM"?"Permission denied reading intents directory":`Failed to read intents directory: ${g.message}`],timestamp:n}}let u=new Set,d=0,p=c.length;for(let{unitId:m,filePath:g}of c){let y;try{y=(0,Tn.readFileSync)(g,"utf-8")}catch(_){let h=_;console.error(`[Validation] Failed to read unit file: ${h.message}`),console.error(`[Validation] Path: ${g}`);let v=h.code==="ENOENT"?`Unit file not found: ${m}`:h.code==="EACCES"||h.code==="EPERM"?`Permission denied reading unit file: ${m}`:`Failed to read unit file ${m}: ${h.message}`;r.push(v);continue}let w=Rb(y,m,l);r.push(...w.blockingIssues),w.parentIntent&&l.has(w.parentIntent)&&u.add(w.parentIntent),w.isValid&&d++}for(let m of l)u.has(m)||r.push(`Intent ${m} has no unit children`);let f=Math.round(d/p*100);return{passed:r.length===0&&d===p,coverage_percentage:f,blocking_issues:r,timestamp:n}}Uo();Z();function lf(e,t,n){let o=(n.construction_bolts?Object.keys(n.construction_bolts).length:0)+1,s=oa(e.title,o),i=e,a=Array.isArray(i.acceptance_criteria)&&i.acceptance_criteria.length>0?i.acceptance_criteria:["Implement as described in intent"],c=Array.isArray(i.target_files)?i.target_files:[];return{id:s,type:"bolt",title:e.title,parent_id:e.id,children_ids:[],status:"pending",assigned_agent:null,estimated_effort:e.estimated_effort,parent_unit_id:e.id,sequence:1,scope:t.substring(0,500)||e.title,acceptance_criteria:a,target_files:c,dependencies:[],depth_target:1,express_mode:!0,estimated_effort_hours:e.estimated_effort}}var xb=b(require("path"),1);function Yo(){return{status:"not_started",started_at:null,completed_at:null,failure_count:0,last_error:null,artifact_path:null}}function uf(e,t){t.construction_bolts||(t.construction_bolts={});for(let n of e){let r={bolt_id:n.id,parent_unit_id:n.parent_unit_id,status:"planned",stages:{elaboration:Yo(),code_generation:Yo(),build_and_test:Yo(),review:Yo()},failure_count:0,last_error:null,review_score:null,acknowledged_by:null,acknowledged_at:null};t.construction_bolts[n.id]=r}}le();var Pb=["elaboration","code_generation","build_and_test","review"],Ab={elaboration:"onElaboration",code_generation:"onCodeGeneration",build_and_test:"onBuildAndTest",review:"onReview"},Ib={build_and_test:"built",review:"done"};async function Ob(e,t,n,r){let o=Ab[t];return t==="build_and_test"?e.onBuildAndTest(n,r,n.target_files??[]):e[o](n,r)}async function $b(e,t,n,r,o){let s=t.construction_bolts[e.id];t.active_bolt_id=e.id,s.status="in_progress",await A(n,t);for(let i of Pb){let a=s.stages[i];if(e.express_mode&&i==="elaboration"){a.status="skipped",a.completed_at=new Date().toISOString(),await A(n,t);continue}i==="review"&&(s.status="in_review",await A(n,t)),t.active_bolt_stage=i,a.status="in_progress",a.started_at=new Date().toISOString(),await A(n,t);let c=await Ob(o,i,e,n);if(c.success){a.status="completed",a.completed_at=new Date().toISOString(),c.artifact_path&&(a.artifact_path=c.artifact_path);let l=Ib[i];l&&(s.status=l),await A(n,t)}else{if(a.failure_count+=1,a.last_error=c.error??"Unknown error",s.failure_count+=1,s.last_error=a.last_error,a.failure_count>=2){a.status="failed",s.status="failed",await A(n,t);break}a.status="not_started",await A(n,t);break}}return t.active_bolt_id=null,t.active_bolt_stage=null,await A(n,t),{status:s.status,stages:{...s.stages}}}var df={execute:$b};ga();var LE={unit:"olympian","code-generation":"olympian",design:"olympian"},ys=class{projectPath;workflowId;tree=null;currentStage="unit";totalUnits=0;totalCodeGenerations=0;totalEffort=0;constructor(t,n){this.projectPath=t,this.workflowId=n}async execute(t,n={}){let{depth:r="MEDIUM",max_units:o=10,max_code_gen_per_unit:s=8,max_total_code_gen:i=50,checkpointStatus:a,onCheckpointSave:c}=n;if(a==="awaiting_dev_review")return{passed:!1,coverage_percentage:0,blocking_issues:["Construction blocked: developer review of technical specification required (Risk Tier 3)."],reviewer:"construction-executor",timestamp:new Date().toISOString()};if(console.log(`[ConstructionExecutor] Starting Construction phase execution (depth: ${r})`),(n.pathwayType==="brownfield-enhancement"||n.pathwayType==="brownfield-refactor"||n.pathwayType==="bugfix")&&n.testCommand)try{let{captureBaseline:p}=await Promise.resolve().then(()=>(ya(),ha));await p(this.projectPath,this.workflowId,n.testCommand),console.log("[ConstructionExecutor] Regression baseline captured")}catch(p){console.error("[ConstructionExecutor] Baseline capture failed (non-fatal):",p)}if(r==="SHALLOW")return this.executeShallowViaBolt();this.currentStage="unit";let u=await this.executeDecompositionPhase(o,s,i,r);if(!u.passed)return console.error("[ConstructionExecutor] Decomposition phase failed"),u;if(console.log("[ConstructionExecutor] Decomposition phase complete"),c)try{await c()}catch(p){console.error("[ConstructionExecutor] Checkpoint save callback failed:",p)}this.currentStage="design";let d=await this.executeDesignStage(t);return d.passed?(console.log("[ConstructionExecutor] Design stage complete"),{passed:!0,coverage_percentage:100,blocking_issues:[],reviewer:"construction-executor",timestamp:new Date().toISOString()}):(console.error("[ConstructionExecutor] Design stage failed validation"),d)}getProgress(){let t=0,n=0;if(this.tree)for(let i of this.tree.nodes.values())i.type==="unit"&&(t++,i.status==="complete"&&n++);let r=this.totalCodeGenerations,o=0,s=0;return this.currentStage==="unit"?s=t>0?Math.round(n/t*50):0:this.currentStage==="code-generation"?s=50+(r>0?Math.round(o/r*25):0):this.currentStage==="design"&&(s=100),{current_stage:this.currentStage,units_total:t,units_complete:n,code_gen_total:r,code_gen_complete:o,design_complete:this.currentStage==="design",overall_percentage:s}}getDecompositionSummary(){return{units:this.totalUnits,codeGenerations:this.totalCodeGenerations,totalEffort:this.totalEffort}}async handleZeroBoltUnit(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await I(r,o);return!s||Object.values(s.construction_bolts??{}).filter(a=>a.parent_unit_id===t).length>0?!1:(s.construction_units||(s.construction_units={}),s.construction_units[t]&&(s.construction_units[t].code_generation_status="completed"),zo(r,o,{timestamp:new Date().toISOString(),phase:"construction",action:`Unit ${t} auto-fulfilled (zero bolts)`,actor:"construction-executor",reason:null}),await A(r,s),console.log(`[ConstructionExecutor] Unit ${t} auto-fulfilled: 0 bolts registered`),!0)}async executeCodeGenerationWithPlanApproval(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,{buildCodePlanPath:s,dispatchCodeGeneration:i,buildCodeGenerationPrompt:a}=await Promise.resolve().then(()=>(ds(),us)),c=s(r,o,t),l=await i(r,o,t),u=a(l.context.intentSummary2,l.context.intentSummary,l.context.unitSpec,c,l.context.architectureContext);return{status:"awaiting_code_plan_approval",codePlanPath:c,prompt:u}}async approveCodePlan(t,n){let{buildCodePlanPath:r,dispatchCodeGeneration:o,buildCodeGenerationPrompt:s}=await Promise.resolve().then(()=>(ds(),us)),{addGateAuditEntry:i}=await Promise.resolve().then(()=>(Z(),vn)),a=r(this.projectPath,this.workflowId,t);if(!await Y.default.pathExists(a))throw new Error(`Code plan file not found at ${a}. The agent must create the plan before it can be approved.`);let l=H.default.join(this.projectPath,"aidlc-docs",this.workflowId,"manifest.json");try{i(l,{phase:"construction",action:"approved",actor:"human",reason:n||`Code plan for ${t} approved by developer`})}catch(p){console.error(`[ConstructionExecutor] Failed to record gate audit for ${t}:`,p)}let u=await o(this.projectPath,this.workflowId,t);return{status:"executing_code_plan",prompt:s(u.context.intentSummary2,u.context.intentSummary,u.context.unitSpec,void 0,u.context.architectureContext)}}async autoApproveCodePlan(t,n){let{addGateAuditEntry:r}=await Promise.resolve().then(()=>(Z(),vn)),o=H.default.join(this.projectPath,"aidlc-docs",this.workflowId,"manifest.json"),s=n>=3;try{r(o,{phase:"construction",action:"approved",actor:"trust",reason:s?`Code plan for ${t} auto-approved silently (trust level ${n})`:`Code plan for ${t} auto-approved with notification (trust level ${n})`})}catch(u){console.error(`[ConstructionExecutor] Failed to record gate audit for ${t}:`,u)}s||console.log(`[ConstructionExecutor] Code plan for ${t} auto-approved (trust level ${n})`);let{dispatchCodeGeneration:i,buildCodeGenerationPrompt:a}=await Promise.resolve().then(()=>(ds(),us)),c=await i(this.projectPath,this.workflowId,t);return{status:"executing_code_plan",prompt:a(c.context.intentSummary2,c.context.intentSummary,c.context.unitSpec,void 0,c.context.architectureContext)}}async executeTestGeneration(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,i=await I(r,o)??{schema_version:"3.0.0",workflow_id:o,feature_name:"",current_phase:"construction",current_stage:"code-generation",status:"in_progress",phases:{},manifest_path:"",trust_state_path:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),construction_units:{}};i.construction_units||(i.construction_units={});let a=i.construction_units[t]??{unitId:t,stages:{"functional-design":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"nfr-requirements":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"nfr-design":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"infrastructure-design":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"code-generation":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"test-generation":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null}},code_plan_path:null,code_generation_status:"not_started",tests_total:0,tests_passed:0,tests_failed:0,test_framework:"unknown",test_generation_status:"not_started"};a.stages["test-generation"].status="in_progress",a.test_generation_status="in_progress",i.construction_units[t]=a,await A(r,i);let c=H.default.join(r,"aidlc-docs",o,"construction",t,"testing");await Y.default.ensureDir(c);let l=H.default.join(c,"test-report.md"),u="",d=H.default.join(r,"aidlc-docs",o,"construction",t,"code","code-summary.md");try{await Y.default.pathExists(d)&&(u=await Y.default.readFile(d,"utf-8"))}catch{}let p=await this.detectTestFramework(r),f=new Date().toISOString(),m=this.buildTestReportScaffold(t,p,u,f);await Y.default.writeFile(l,m,"utf-8");let g=0,y=0,w=0,_=0,h=0;n.currentResults&&n.currentResults.length>0&&(g=n.currentResults.length,y=n.currentResults.filter(C=>C.status==="passed").length,w=n.currentResults.filter(C=>C.status==="failed").length);let v=!1,S=0,E=H.default.join(r,"aidlc-docs",o,"construction","regression-baseline.json");if(n.currentResults&&w>0&&await Y.default.pathExists(E))try{let{compareAgainstBaseline:C,writeRegressionReport:$}=await Promise.resolve().then(()=>(ya(),ha)),{categorizeFailure:N,buildRegressionSummary:x}=await Promise.resolve().then(()=>(Sm(),km)),T=await Y.default.readJson(E);v=!0;let M=C(T,n.currentResults),F=[],K=[];for(let $e of M.new_failures){let Dr=T.tests.find(Jt=>Jt.name===$e.name)??null,Ke=N($e.name,Dr,[]);F.push(Ke),K.push({test_name:$e.name,file_path:$e.filePath,category:Ke,rationale:Ke==="legitimate_regression"?"Test was passing in baseline, now fails":Ke==="flaky"?"Test passed on re-run without code changes":Ke==="intentional_change"?"New test not present in baseline":"Test was already failing in baseline"})}let V=x(K.map($e=>({test_name:$e.test_name,file_path:$e.file_path})),F);_=V.regressions_count,h=V.flaky_count,S=V.regressions_count;let hn={workflow_id:o,unit_id:t,baseline_captured_at:T.captured_at,compared_at:new Date().toISOString(),failures:K,total_regressions:F.filter($e=>$e!=="pre_existing_failure").length,legitimate_regressions:V.regressions_count};await $(r,o,t,hn)}catch(C){console.error(`[ConstructionExecutor] Regression analysis failed for ${t} (non-fatal):`,C)}let k="completed",j;if(n.allowFailures!==!0&&(g===0?(k="blocked",j=`No tests detected for unit ${t}. Set allowFailures: true to override.`):v&&S>0?(k="blocked",j=`${S} legitimate regression(s) for unit ${t}. Flaky: ${h} (non-blocking). Fix regressions before proceeding.`):!v&&w>0&&(k="blocked",j=`${w} test(s) failed for unit ${t}. Set allowFailures: true to override.`)),a.stages["test-generation"].status=k==="completed"?"completed":"in_progress",a.stages["test-generation"].artifact_path=l,k==="completed"&&(a.stages["test-generation"].completed_at=f),a.tests_total=g,a.tests_passed=y,a.tests_failed=w,a.test_framework=p,a.test_generation_status=k==="completed"?"completed":"in_progress",a.regressions_count=_,a.flaky_count=h,i.construction_units[t]=a,await A(r,i),k==="completed")try{let{updateArchitectureModel:C}=await Promise.resolve().then(()=>(Jr(),Zo)),$=await this.discoverUnitFiles(r,o,t);$.length>0&&(await C(r,$),a.architecture_model_status="updated",i.construction_units[t]=a,await A(r,i))}catch(C){console.error(`[ConstructionExecutor] Architecture model update failed for ${t} (non-blocking):`,C),a.architecture_model_status="failed",i.construction_units[t]=a;try{await A(r,i)}catch{}}let R;if(k==="completed")try{let{runValidationPipeline:C,shouldSkipValidator:$,updateCheckpointForValidator:N,createQualityValidator:x,createMutationValidator:T,createTraceabilityValidator:M,createContractValidator:F,createCoverageValidator:K}=await Promise.resolve().then(()=>(Gm(),Bm)),V=await this.discoverUnitFiles(r,o,t),hn=this.detectApiSurfaceFiles(V),$e=this.deriveWorkflowDepth(i),Dr={timeoutBudgetMs:3e4,allowFailures:n.allowFailures??!1,workflowDepth:$e,unitId:t,unitFiles:V,apiSurfaceFiles:hn,projectPath:r,workflowId:o},Ke=new Map;Ke.set("quality",x()),$("mutation",Dr).skip||Ke.set("mutation",T()),Ke.set("traceability",M()),$("contract",Dr).skip||Ke.set("contract",F()),Ke.set("coverage",K()),R=await C(Ke,Dr);for(let{validator:Jt,result:Ot}of R.results){let __=Ot.status==="passed"||Ot.status==="warned"?"completed":Ot.status==="skipped"?"skipped":"in_progress",k_=Jt==="coverage"?Ot.coverage_percentage:void 0,S_=Jt==="coverage"?Ot.findings.filter(v_=>v_.category==="uncovered-critical-file").length:void 0;await N(r,o,t,Jt,__,k_,S_)}if(!n.allowFailures){let Jt=R.results.filter(Ot=>Ot.result.status==="failed");Jt.length>0&&(k="blocked",j=`Validation blocked: ${Jt.map(Ot=>Ot.validator).join(", ")}`,a.stages["test-generation"].status="in_progress",a.test_generation_status="in_progress",i.construction_units[t]=a,await A(r,i))}}catch(C){console.error(`[ConstructionExecutor] Validation pipeline failed for ${t} (non-fatal):`,C)}return{status:k,unitId:t,tests_total:g,tests_passed:y,tests_failed:w,test_framework:p,reportPath:l,blockingReason:j,regressions_count:_,flaky_count:h,validationPipeline:R}}async validateBugfixTestRequirement(t,n={}){try{let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await I(r,o);if(!s)return{valid:!1,reason:"checkpoint not found"};if(s.pathway_type!=="bugfix")return{valid:!0};let i=s.construction_units?.[t];return i?i.stages?.["test-generation"]?.status!=="completed"?{valid:!1,reason:"test-generation stage not completed for bugfix unit"}:(i.tests_total??0)===0?{valid:!1,reason:"bugfix unit must have at least one test (tests_total === 0)"}:{valid:!0}:{valid:!1,reason:`no unit progress found for unit ${t}`}}catch(r){let o=r instanceof Error?r.message:String(r);return console.error(`[ConstructionExecutor] validateBugfixTestRequirement error for ${t}:`,r),{valid:!1,reason:`validation error: ${o}`}}}async executeDocumentationGeneration(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await I(r,o),i=s?.depth_score?s.depth_score<=12?"minimal":s.depth_score<=20?"standard":"comprehensive":"standard",a=s?.pathway_type||"brownfield-enhancement",c=await this.discoverUnitFiles(r,o,t),l={unitId:t,workflowId:o,projectPath:r,depth:i,pathway:a,unitFiles:c},u=qp(l),d,p=0,f=[],m;if(u.status==="completed"){try{let g=Vp({projectPath:r,workflowId:o,unitId:t,modifiedFiles:l.unitFiles||[]});d={status:g.impactScan.status,path:g.impactScan.reportPath},p=g.adrCount,g.adrEntries&&(f=g.adrEntries)}catch{}if(u.path&&a!=="bugfix"&&i!=="minimal")try{let g=s?.construction_units?.[t];m=Xi({featureDocPath:u.path,projectPath:r,depth:i,pathway:a,override:g?.recreation_readiness_override,overrideRationale:g?.recreation_readiness_override_rationale??void 0})}catch{}}if(s?.construction_units?.[t]){let g=s.construction_units[t];g.feature_doc_status=u.status==="completed"?"completed":"not_started",g.feature_doc_path=u.path,g.impact_scan_status=d?.status==="completed"?"completed":"not_started",g.impact_scan_report_path=d?.path??null,g.adr_count=p,g.adr_entries=f.length>0?f:void 0,m&&(g.recreation_readiness_score=m.overall_score,g.recreation_readiness_dimensions=m.dimensions??null),u.status==="completed"&&(g.doc_generation_agent=LE["code-generation"],g.doc_generation_prompt=Hp(l)),await A(r,s)}return{featureDoc:u,impactScan:d,adrCount:p,recreationReadiness:m}}async executeUnitCompletion(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await this.executeTestGeneration(t,n);if(s.status==="completed"){try{let i=await this.discoverUnitFiles(r,o,t);i.length>0&&Yp(r,i)}catch(i){console.error(`[ConstructionExecutor] Secrets management failed for ${t} (non-blocking):`,i)}try{let i=await this.discoverUnitFiles(r,o,t),a=await Zp({projectPath:r,workflowId:o,unitId:t,includeGlobs:i.length>0?i:void 0}),c=await I(r,o);if(c?.construction_units?.[t]){let l=c.construction_units[t];l.security_scan_status=a.status==="completed"?"completed":a.status==="failed"?"in_progress":"not_started",l.security_findings_critical=a.findings.filter(u=>u.severity==="critical").length,l.security_findings_warning=a.findings.filter(u=>u.severity==="warning").length,l.security_findings_info=a.findings.filter(u=>u.severity==="info").length,await A(r,c)}}catch(i){console.error(`[ConstructionExecutor] Security scan failed for ${t} (non-blocking):`,i)}if(!n.skipDocumentation){let i=await this.executeDocumentationGeneration(t,{projectPath:r,workflowId:o});return{testGeneration:s,documentation:i}}}return{testGeneration:s}}async executeSmokeTest(t={}){let n=t.projectPath||this.projectPath,r=t.workflowId||this.workflowId,o=await I(n,r);if(!o||!o.construction_units)return{status:"not_run",reportPath:null};let s=o.construction_units,i=Object.keys(s);if(i.length===0)return{status:"not_run",reportPath:null};let a=0,c=0,l=0,u=0,d=0,p=0,f=0,m=0,g=[];for(let E of i){let k=s[E],j=k.tests_total??0,R=k.tests_passed??0,O=k.tests_failed??0,C=j-R-O,$=k.regressions_count??0,N=k.flaky_count??0;j>0&&(f++,O===0&&m++),a+=j,c+=R,l+=O,u+=Math.max(0,C),d+=$,p+=N;let x=j===0?"\u26A0\uFE0F":O===0?"\u2705":"\u274C";g.push(`| ${E} | ${j} | ${R} | ${O} | ${$} | ${N} | ${x} |`)}let y=a===0?"not_run":l===0?"passed":"failed",w=H.default.join(n,"aidlc-docs",r,"construction","build-and-test");await Y.default.ensureDir(w);let _=H.default.join(w,"test-report.md"),h=new Date().toISOString(),v=`# Build-Level Test Report
969
+ `),n=0;for(let r of t)r.trim().match(/^[-*+]\s+/)&&n++;return n}function Rb(e,t,n){let r=[],o=null,s=bb(e);if(!s)return r.push(`${t}: Missing frontmatter`),{isValid:!1,blockingIssues:r,parentIntent:o};let i=["id","title","parent_intent","status","estimated_effort"],a=[];for(let y of i)s[y]||a.push(y);if(a.length>0)return r.push(`${t}: Missing frontmatter fields: ${a.join(", ")}`),{isValid:!1,blockingIssues:r,parentIntent:o};if(o=s.parent_intent,!n.has(o)&&!o.startsWith("intent-"))return r.push(`${t}: References non-existent parent intent: ${o}`),{isValid:!1,blockingIssues:r,parentIntent:o};let c=parseInt(s.estimated_effort,10);if(isNaN(c)||!vb.includes(c))return r.push(`${t}: Invalid effort estimate ${s.estimated_effort} (must be 1, 2, 4, 8, or 16)`),{isValid:!1,blockingIssues:r,parentIntent:o};let l=Tb(e),u=Eb(l),d=["Scope & Responsibility","Interface Contracts","Dependencies","Acceptance Criteria"],p=["Goal","Acceptance Criteria","Implementation Notes"],f=d.every(y=>u.has(y)),m=p.every(y=>u.has(y));if(!f&&!m){let y=d.filter(w=>!u.has(w));return r.push(`${t}: Missing sections: ${y.join(", ")}`),{isValid:!1,blockingIssues:r,parentIntent:o}}let g=u.get("Acceptance Criteria");if(g){if(Cb(g)===0)return r.push(`${t}: No acceptance criteria found`),{isValid:!1,blockingIssues:r,parentIntent:o}}else return r.push(`${t}: Acceptance Criteria section is empty`),{isValid:!1,blockingIssues:r,parentIntent:o};return{isValid:!0,blockingIssues:r,parentIntent:o}}async function da(e,t){let n=new Date().toISOString(),r=[],o;try{o=(0,Tn.readdirSync)(e,{withFileTypes:!0})}catch(m){let g=m;return console.error(`[Validation] Failed to read construction directory: ${g.message}`),console.error(`[Validation] Path: ${e}`),{passed:!1,coverage_percentage:0,blocking_issues:[g.code==="ENOENT"?"Units directory not found":g.code==="EACCES"||g.code==="EPERM"?"Permission denied reading units directory":`Failed to read units directory: ${g.message}`],timestamp:n}}let s=o.filter(m=>m.isDirectory()&&m.name!=="design"),i=o.filter(m=>m.isFile()&&m.name.endsWith(".md")&&m.name!=="design.md"),a=new Set,c=[];for(let m of s){let g=m.name,y=(0,ua.join)(e,m.name,"spec.md");(0,Tn.existsSync)(y)&&(a.add(g),c.push({unitId:g,filePath:y}))}for(let m of i){let g=m.name.replace(".md","");a.has(g)||(a.add(g),c.push({unitId:g,filePath:(0,ua.join)(e,m.name)}))}if(c.length===0)return{passed:!1,coverage_percentage:0,blocking_issues:["No unit files found in units directory"],timestamp:n};let l=new Set;try{let m=(0,Tn.readdirSync)(t).filter(g=>g.startsWith("INTENT-")&&g.endsWith(".md"));l=new Set(m.map(g=>g.replace(".md","")))}catch(m){let g=m;return console.error(`[Validation] Failed to read intents directory: ${g.message}`),console.error(`[Validation] Path: ${t}`),{passed:!1,coverage_percentage:0,blocking_issues:[g.code==="ENOENT"?"Intents directory not found":g.code==="EACCES"||g.code==="EPERM"?"Permission denied reading intents directory":`Failed to read intents directory: ${g.message}`],timestamp:n}}let u=new Set,d=0,p=c.length;for(let{unitId:m,filePath:g}of c){let y;try{y=(0,Tn.readFileSync)(g,"utf-8")}catch(_){let h=_;console.error(`[Validation] Failed to read unit file: ${h.message}`),console.error(`[Validation] Path: ${g}`);let v=h.code==="ENOENT"?`Unit file not found: ${m}`:h.code==="EACCES"||h.code==="EPERM"?`Permission denied reading unit file: ${m}`:`Failed to read unit file ${m}: ${h.message}`;r.push(v);continue}let w=Rb(y,m,l);r.push(...w.blockingIssues),w.parentIntent&&l.has(w.parentIntent)&&u.add(w.parentIntent),w.isValid&&d++}for(let m of l)u.has(m)||r.push(`Intent ${m} has no unit children`);let f=Math.round(d/p*100);return{passed:r.length===0&&d===p,coverage_percentage:f,blocking_issues:r,timestamp:n}}Uo();Z();function lf(e,t,n){let o=(n.construction_bolts?Object.keys(n.construction_bolts).length:0)+1,s=oa(e.title,o),i=e,a=Array.isArray(i.acceptance_criteria)&&i.acceptance_criteria.length>0?i.acceptance_criteria:["Implement as described in intent"],c=Array.isArray(i.target_files)?i.target_files:[];return{id:s,type:"bolt",title:e.title,parent_id:e.id,children_ids:[],status:"pending",assigned_agent:null,estimated_effort:e.estimated_effort,parent_unit_id:e.id,sequence:1,scope:t.substring(0,500)||e.title,acceptance_criteria:a,target_files:c,dependencies:[],depth_target:1,express_mode:!0,estimated_effort_hours:e.estimated_effort,requirements:[],stories:[]}}var xb=b(require("path"),1);function Yo(){return{status:"not_started",started_at:null,completed_at:null,failure_count:0,last_error:null,artifact_path:null}}function uf(e,t){t.construction_bolts||(t.construction_bolts={});for(let n of e){let r={bolt_id:n.id,parent_unit_id:n.parent_unit_id,status:"planned",stages:{elaboration:Yo(),code_generation:Yo(),build_and_test:Yo(),review:Yo()},failure_count:0,last_error:null,review_score:null,acknowledged_by:null,acknowledged_at:null};t.construction_bolts[n.id]=r}}le();var Pb=["elaboration","code_generation","build_and_test","review"],Ab={elaboration:"onElaboration",code_generation:"onCodeGeneration",build_and_test:"onBuildAndTest",review:"onReview"},Ib={build_and_test:"built",review:"done"};async function Ob(e,t,n,r){let o=Ab[t];return t==="build_and_test"?e.onBuildAndTest(n,r,n.target_files??[]):e[o](n,r)}async function $b(e,t,n,r,o){let s=t.construction_bolts[e.id];t.active_bolt_id=e.id,s.status="in_progress",await A(n,t);for(let i of Pb){let a=s.stages[i];if(e.express_mode&&i==="elaboration"){a.status="skipped",a.completed_at=new Date().toISOString(),await A(n,t);continue}i==="review"&&(s.status="in_review",await A(n,t)),t.active_bolt_stage=i,a.status="in_progress",a.started_at=new Date().toISOString(),await A(n,t);let c=await Ob(o,i,e,n);if(c.success){a.status="completed",a.completed_at=new Date().toISOString(),c.artifact_path&&(a.artifact_path=c.artifact_path);let l=Ib[i];l&&(s.status=l),await A(n,t)}else{if(a.failure_count+=1,a.last_error=c.error??"Unknown error",s.failure_count+=1,s.last_error=a.last_error,a.failure_count>=2){a.status="failed",s.status="failed",await A(n,t);break}a.status="not_started",await A(n,t);break}}return t.active_bolt_id=null,t.active_bolt_stage=null,await A(n,t),{status:s.status,stages:{...s.stages}}}var df={execute:$b};ga();var LE={unit:"olympian","code-generation":"olympian",design:"olympian"},ys=class{projectPath;workflowId;tree=null;currentStage="unit";totalUnits=0;totalCodeGenerations=0;totalEffort=0;constructor(t,n){this.projectPath=t,this.workflowId=n}async execute(t,n={}){let{depth:r="MEDIUM",max_units:o=10,max_code_gen_per_unit:s=8,max_total_code_gen:i=50,checkpointStatus:a,onCheckpointSave:c}=n;if(a==="awaiting_dev_review")return{passed:!1,coverage_percentage:0,blocking_issues:["Construction blocked: developer review of technical specification required (Risk Tier 3)."],reviewer:"construction-executor",timestamp:new Date().toISOString()};if(console.log(`[ConstructionExecutor] Starting Construction phase execution (depth: ${r})`),(n.pathwayType==="brownfield-enhancement"||n.pathwayType==="brownfield-refactor"||n.pathwayType==="bugfix")&&n.testCommand)try{let{captureBaseline:p}=await Promise.resolve().then(()=>(ya(),ha));await p(this.projectPath,this.workflowId,n.testCommand),console.log("[ConstructionExecutor] Regression baseline captured")}catch(p){console.error("[ConstructionExecutor] Baseline capture failed (non-fatal):",p)}if(r==="SHALLOW")return this.executeShallowViaBolt();this.currentStage="unit";let u=await this.executeDecompositionPhase(o,s,i,r);if(!u.passed)return console.error("[ConstructionExecutor] Decomposition phase failed"),u;if(console.log("[ConstructionExecutor] Decomposition phase complete"),c)try{await c()}catch(p){console.error("[ConstructionExecutor] Checkpoint save callback failed:",p)}this.currentStage="design";let d=await this.executeDesignStage(t);return d.passed?(console.log("[ConstructionExecutor] Design stage complete"),{passed:!0,coverage_percentage:100,blocking_issues:[],reviewer:"construction-executor",timestamp:new Date().toISOString()}):(console.error("[ConstructionExecutor] Design stage failed validation"),d)}getProgress(){let t=0,n=0;if(this.tree)for(let i of this.tree.nodes.values())i.type==="unit"&&(t++,i.status==="complete"&&n++);let r=this.totalCodeGenerations,o=0,s=0;return this.currentStage==="unit"?s=t>0?Math.round(n/t*50):0:this.currentStage==="code-generation"?s=50+(r>0?Math.round(o/r*25):0):this.currentStage==="design"&&(s=100),{current_stage:this.currentStage,units_total:t,units_complete:n,code_gen_total:r,code_gen_complete:o,design_complete:this.currentStage==="design",overall_percentage:s}}getDecompositionSummary(){return{units:this.totalUnits,codeGenerations:this.totalCodeGenerations,totalEffort:this.totalEffort}}async handleZeroBoltUnit(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await I(r,o);return!s||Object.values(s.construction_bolts??{}).filter(a=>a.parent_unit_id===t).length>0?!1:(s.construction_units||(s.construction_units={}),s.construction_units[t]&&(s.construction_units[t].code_generation_status="completed"),zo(r,o,{timestamp:new Date().toISOString(),phase:"construction",action:`Unit ${t} auto-fulfilled (zero bolts)`,actor:"construction-executor",reason:null}),await A(r,s),console.log(`[ConstructionExecutor] Unit ${t} auto-fulfilled: 0 bolts registered`),!0)}async executeCodeGenerationWithPlanApproval(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,{buildCodePlanPath:s,dispatchCodeGeneration:i,buildCodeGenerationPrompt:a}=await Promise.resolve().then(()=>(ds(),us)),c=s(r,o,t),l=await i(r,o,t),u=a(l.context.intentSummary2,l.context.intentSummary,l.context.unitSpec,c,l.context.architectureContext);return{status:"awaiting_code_plan_approval",codePlanPath:c,prompt:u}}async approveCodePlan(t,n){let{buildCodePlanPath:r,dispatchCodeGeneration:o,buildCodeGenerationPrompt:s}=await Promise.resolve().then(()=>(ds(),us)),{addGateAuditEntry:i}=await Promise.resolve().then(()=>(Z(),vn)),a=r(this.projectPath,this.workflowId,t);if(!await Y.default.pathExists(a))throw new Error(`Code plan file not found at ${a}. The agent must create the plan before it can be approved.`);let l=H.default.join(this.projectPath,"aidlc-docs",this.workflowId,"manifest.json");try{i(l,{phase:"construction",action:"approved",actor:"human",reason:n||`Code plan for ${t} approved by developer`})}catch(p){console.error(`[ConstructionExecutor] Failed to record gate audit for ${t}:`,p)}let u=await o(this.projectPath,this.workflowId,t);return{status:"executing_code_plan",prompt:s(u.context.intentSummary2,u.context.intentSummary,u.context.unitSpec,void 0,u.context.architectureContext)}}async autoApproveCodePlan(t,n){let{addGateAuditEntry:r}=await Promise.resolve().then(()=>(Z(),vn)),o=H.default.join(this.projectPath,"aidlc-docs",this.workflowId,"manifest.json"),s=n>=3;try{r(o,{phase:"construction",action:"approved",actor:"trust",reason:s?`Code plan for ${t} auto-approved silently (trust level ${n})`:`Code plan for ${t} auto-approved with notification (trust level ${n})`})}catch(u){console.error(`[ConstructionExecutor] Failed to record gate audit for ${t}:`,u)}s||console.log(`[ConstructionExecutor] Code plan for ${t} auto-approved (trust level ${n})`);let{dispatchCodeGeneration:i,buildCodeGenerationPrompt:a}=await Promise.resolve().then(()=>(ds(),us)),c=await i(this.projectPath,this.workflowId,t);return{status:"executing_code_plan",prompt:a(c.context.intentSummary2,c.context.intentSummary,c.context.unitSpec,void 0,c.context.architectureContext)}}async executeTestGeneration(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,i=await I(r,o)??{schema_version:"3.0.0",workflow_id:o,feature_name:"",current_phase:"construction",current_stage:"code-generation",status:"in_progress",phases:{},manifest_path:"",trust_state_path:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString(),construction_units:{}};i.construction_units||(i.construction_units={});let a=i.construction_units[t]??{unitId:t,stages:{"functional-design":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"nfr-requirements":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"nfr-design":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"infrastructure-design":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"code-generation":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null},"test-generation":{status:"not_started",artifact_path:null,completed_at:null,failure_count:0,last_error:null}},code_plan_path:null,code_generation_status:"not_started",tests_total:0,tests_passed:0,tests_failed:0,test_framework:"unknown",test_generation_status:"not_started"};a.stages["test-generation"].status="in_progress",a.test_generation_status="in_progress",i.construction_units[t]=a,await A(r,i);let c=H.default.join(r,"aidlc-docs",o,"construction",t,"testing");await Y.default.ensureDir(c);let l=H.default.join(c,"test-report.md"),u="",d=H.default.join(r,"aidlc-docs",o,"construction",t,"code","code-summary.md");try{await Y.default.pathExists(d)&&(u=await Y.default.readFile(d,"utf-8"))}catch{}let p=await this.detectTestFramework(r),f=new Date().toISOString(),m=this.buildTestReportScaffold(t,p,u,f);await Y.default.writeFile(l,m,"utf-8");let g=0,y=0,w=0,_=0,h=0;n.currentResults&&n.currentResults.length>0&&(g=n.currentResults.length,y=n.currentResults.filter(C=>C.status==="passed").length,w=n.currentResults.filter(C=>C.status==="failed").length);let v=!1,S=0,E=H.default.join(r,"aidlc-docs",o,"construction","regression-baseline.json");if(n.currentResults&&w>0&&await Y.default.pathExists(E))try{let{compareAgainstBaseline:C,writeRegressionReport:$}=await Promise.resolve().then(()=>(ya(),ha)),{categorizeFailure:N,buildRegressionSummary:x}=await Promise.resolve().then(()=>(Sm(),km)),T=await Y.default.readJson(E);v=!0;let M=C(T,n.currentResults),F=[],K=[];for(let $e of M.new_failures){let Dr=T.tests.find(Jt=>Jt.name===$e.name)??null,Ke=N($e.name,Dr,[]);F.push(Ke),K.push({test_name:$e.name,file_path:$e.filePath,category:Ke,rationale:Ke==="legitimate_regression"?"Test was passing in baseline, now fails":Ke==="flaky"?"Test passed on re-run without code changes":Ke==="intentional_change"?"New test not present in baseline":"Test was already failing in baseline"})}let V=x(K.map($e=>({test_name:$e.test_name,file_path:$e.file_path})),F);_=V.regressions_count,h=V.flaky_count,S=V.regressions_count;let hn={workflow_id:o,unit_id:t,baseline_captured_at:T.captured_at,compared_at:new Date().toISOString(),failures:K,total_regressions:F.filter($e=>$e!=="pre_existing_failure").length,legitimate_regressions:V.regressions_count};await $(r,o,t,hn)}catch(C){console.error(`[ConstructionExecutor] Regression analysis failed for ${t} (non-fatal):`,C)}let k="completed",j;if(n.allowFailures!==!0&&(g===0?(k="blocked",j=`No tests detected for unit ${t}. Set allowFailures: true to override.`):v&&S>0?(k="blocked",j=`${S} legitimate regression(s) for unit ${t}. Flaky: ${h} (non-blocking). Fix regressions before proceeding.`):!v&&w>0&&(k="blocked",j=`${w} test(s) failed for unit ${t}. Set allowFailures: true to override.`)),a.stages["test-generation"].status=k==="completed"?"completed":"in_progress",a.stages["test-generation"].artifact_path=l,k==="completed"&&(a.stages["test-generation"].completed_at=f),a.tests_total=g,a.tests_passed=y,a.tests_failed=w,a.test_framework=p,a.test_generation_status=k==="completed"?"completed":"in_progress",a.regressions_count=_,a.flaky_count=h,i.construction_units[t]=a,await A(r,i),k==="completed")try{let{updateArchitectureModel:C}=await Promise.resolve().then(()=>(Jr(),Zo)),$=await this.discoverUnitFiles(r,o,t);$.length>0&&(await C(r,$),a.architecture_model_status="updated",i.construction_units[t]=a,await A(r,i))}catch(C){console.error(`[ConstructionExecutor] Architecture model update failed for ${t} (non-blocking):`,C),a.architecture_model_status="failed",i.construction_units[t]=a;try{await A(r,i)}catch{}}let R;if(k==="completed")try{let{runValidationPipeline:C,shouldSkipValidator:$,updateCheckpointForValidator:N,createQualityValidator:x,createMutationValidator:T,createTraceabilityValidator:M,createContractValidator:F,createCoverageValidator:K}=await Promise.resolve().then(()=>(Gm(),Bm)),V=await this.discoverUnitFiles(r,o,t),hn=this.detectApiSurfaceFiles(V),$e=this.deriveWorkflowDepth(i),Dr={timeoutBudgetMs:3e4,allowFailures:n.allowFailures??!1,workflowDepth:$e,unitId:t,unitFiles:V,apiSurfaceFiles:hn,projectPath:r,workflowId:o},Ke=new Map;Ke.set("quality",x()),$("mutation",Dr).skip||Ke.set("mutation",T()),Ke.set("traceability",M()),$("contract",Dr).skip||Ke.set("contract",F()),Ke.set("coverage",K()),R=await C(Ke,Dr);for(let{validator:Jt,result:Ot}of R.results){let __=Ot.status==="passed"||Ot.status==="warned"?"completed":Ot.status==="skipped"?"skipped":"in_progress",k_=Jt==="coverage"?Ot.coverage_percentage:void 0,S_=Jt==="coverage"?Ot.findings.filter(v_=>v_.category==="uncovered-critical-file").length:void 0;await N(r,o,t,Jt,__,k_,S_)}if(!n.allowFailures){let Jt=R.results.filter(Ot=>Ot.result.status==="failed");Jt.length>0&&(k="blocked",j=`Validation blocked: ${Jt.map(Ot=>Ot.validator).join(", ")}`,a.stages["test-generation"].status="in_progress",a.test_generation_status="in_progress",i.construction_units[t]=a,await A(r,i))}}catch(C){console.error(`[ConstructionExecutor] Validation pipeline failed for ${t} (non-fatal):`,C)}return{status:k,unitId:t,tests_total:g,tests_passed:y,tests_failed:w,test_framework:p,reportPath:l,blockingReason:j,regressions_count:_,flaky_count:h,validationPipeline:R}}async validateBugfixTestRequirement(t,n={}){try{let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await I(r,o);if(!s)return{valid:!1,reason:"checkpoint not found"};if(s.pathway_type!=="bugfix")return{valid:!0};let i=s.construction_units?.[t];return i?i.stages?.["test-generation"]?.status!=="completed"?{valid:!1,reason:"test-generation stage not completed for bugfix unit"}:(i.tests_total??0)===0?{valid:!1,reason:"bugfix unit must have at least one test (tests_total === 0)"}:{valid:!0}:{valid:!1,reason:`no unit progress found for unit ${t}`}}catch(r){let o=r instanceof Error?r.message:String(r);return console.error(`[ConstructionExecutor] validateBugfixTestRequirement error for ${t}:`,r),{valid:!1,reason:`validation error: ${o}`}}}async executeDocumentationGeneration(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await I(r,o),i=s?.depth_score?s.depth_score<=12?"minimal":s.depth_score<=20?"standard":"comprehensive":"standard",a=s?.pathway_type||"brownfield-enhancement",c=await this.discoverUnitFiles(r,o,t),l={unitId:t,workflowId:o,projectPath:r,depth:i,pathway:a,unitFiles:c},u=qp(l),d,p=0,f=[],m;if(u.status==="completed"){try{let g=Vp({projectPath:r,workflowId:o,unitId:t,modifiedFiles:l.unitFiles||[]});d={status:g.impactScan.status,path:g.impactScan.reportPath},p=g.adrCount,g.adrEntries&&(f=g.adrEntries)}catch{}if(u.path&&a!=="bugfix"&&i!=="minimal")try{let g=s?.construction_units?.[t];m=Xi({featureDocPath:u.path,projectPath:r,depth:i,pathway:a,override:g?.recreation_readiness_override,overrideRationale:g?.recreation_readiness_override_rationale??void 0})}catch{}}if(s?.construction_units?.[t]){let g=s.construction_units[t];g.feature_doc_status=u.status==="completed"?"completed":"not_started",g.feature_doc_path=u.path,g.impact_scan_status=d?.status==="completed"?"completed":"not_started",g.impact_scan_report_path=d?.path??null,g.adr_count=p,g.adr_entries=f.length>0?f:void 0,m&&(g.recreation_readiness_score=m.overall_score,g.recreation_readiness_dimensions=m.dimensions??null),u.status==="completed"&&(g.doc_generation_agent=LE["code-generation"],g.doc_generation_prompt=Hp(l)),await A(r,s)}return{featureDoc:u,impactScan:d,adrCount:p,recreationReadiness:m}}async executeUnitCompletion(t,n={}){let r=n.projectPath||this.projectPath,o=n.workflowId||this.workflowId,s=await this.executeTestGeneration(t,n);if(s.status==="completed"){try{let i=await this.discoverUnitFiles(r,o,t);i.length>0&&Yp(r,i)}catch(i){console.error(`[ConstructionExecutor] Secrets management failed for ${t} (non-blocking):`,i)}try{let i=await this.discoverUnitFiles(r,o,t),a=await Zp({projectPath:r,workflowId:o,unitId:t,includeGlobs:i.length>0?i:void 0}),c=await I(r,o);if(c?.construction_units?.[t]){let l=c.construction_units[t];l.security_scan_status=a.status==="completed"?"completed":a.status==="failed"?"in_progress":"not_started",l.security_findings_critical=a.findings.filter(u=>u.severity==="critical").length,l.security_findings_warning=a.findings.filter(u=>u.severity==="warning").length,l.security_findings_info=a.findings.filter(u=>u.severity==="info").length,await A(r,c)}}catch(i){console.error(`[ConstructionExecutor] Security scan failed for ${t} (non-blocking):`,i)}if(!n.skipDocumentation){let i=await this.executeDocumentationGeneration(t,{projectPath:r,workflowId:o});return{testGeneration:s,documentation:i}}}return{testGeneration:s}}async executeSmokeTest(t={}){let n=t.projectPath||this.projectPath,r=t.workflowId||this.workflowId,o=await I(n,r);if(!o||!o.construction_units)return{status:"not_run",reportPath:null};let s=o.construction_units,i=Object.keys(s);if(i.length===0)return{status:"not_run",reportPath:null};let a=0,c=0,l=0,u=0,d=0,p=0,f=0,m=0,g=[];for(let E of i){let k=s[E],j=k.tests_total??0,R=k.tests_passed??0,O=k.tests_failed??0,C=j-R-O,$=k.regressions_count??0,N=k.flaky_count??0;j>0&&(f++,O===0&&m++),a+=j,c+=R,l+=O,u+=Math.max(0,C),d+=$,p+=N;let x=j===0?"\u26A0\uFE0F":O===0?"\u2705":"\u274C";g.push(`| ${E} | ${j} | ${R} | ${O} | ${$} | ${N} | ${x} |`)}let y=a===0?"not_run":l===0?"passed":"failed",w=H.default.join(n,"aidlc-docs",r,"construction","build-and-test");await Y.default.ensureDir(w);let _=H.default.join(w,"test-report.md"),h=new Date().toISOString(),v=`# Build-Level Test Report
970
970
 
971
971
  **Workflow ID**: ${r}
972
972
  **Generated At**: ${h}
@@ -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 Metrics
1165
+ ## Success Criteria
1166
1166
 
1167
- - **Metric 1**: Successful implementation with all acceptance criteria met (target: 100% completion)
1168
- - **Metric 2**: Zero critical bugs in production within first 30 days (target: 0 P0/P1 issues)
1169
- - **Metric 3**: Positive user feedback and adoption rate (target: >80% user satisfaction)
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.2";
27
+ export declare const VERSION = "4.5.4";
28
28
  /** Installation result */
29
29
  export interface InstallResult {
30
30
  success: boolean;
@@ -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.2';
43
+ export const VERSION = '4.5.4';
44
44
  /**
45
45
  * Read a content file from the resources/ directory.
46
46
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "olympus-ai",
3
- "version": "4.5.2",
3
+ "version": "4.5.4",
4
4
  "description": "Olympus: Multi-agent orchestration for Claude Code. Summon the gods of code.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,6 +25,8 @@ sequence: 1
25
25
  depth_target: 6
26
26
  express_mode: false
27
27
  estimated_effort_hours: 4
28
+ requirements: ["FR-1", "FR-3"]
29
+ stories: ["S-001"]
28
30
  ---
29
31
  ```
30
32
 
@@ -37,10 +39,12 @@ estimated_effort_hours: 4
37
39
  | `depth_target` | Reasoning depth (1-10). Express mode threshold: <= 4 |
38
40
  | `express_mode` | `true` if eligible for express execution (skips elaboration) |
39
41
  | `estimated_effort_hours` | Rough hours estimate for human review |
42
+ | `requirements` | Requirement IDs from `requirements.md` that this bolt satisfies (e.g., `["FR-1", "FR-3"]`) |
43
+ | `stories` | Story IDs from `stories.md` that this bolt addresses (e.g., `["S-001"]`). Optional but recommended. |
40
44
 
41
45
  ### Required Sections
42
46
 
43
- Every bolt spec must contain all four sections:
47
+ Every bolt spec must contain all five sections:
44
48
 
45
49
  **Scope** — What this bolt implements. A focused description of the functionality delivered by this bolt alone.
46
50
 
@@ -50,6 +54,10 @@ Every bolt spec must contain all four sections:
50
54
 
51
55
  **Dependencies** — Other bolts that must complete before this bolt can begin. Use bolt IDs (e.g., `BOLT-001-data-model`). Leave empty if no dependencies.
52
56
 
57
+ **Traceability** — Which requirements and stories this bolt satisfies:
58
+ - **Requirements**: {comma-separated requirement IDs from requirements.md}
59
+ - **Stories**: {comma-separated story IDs from stories.md}
60
+
53
61
  ---
54
62
 
55
63
  ## Naming Convention
@@ -80,9 +88,20 @@ If a unit's scope exceeds 8 bolts, it must be re-scoped or split into multiple u
80
88
 
81
89
  ---
82
90
 
91
+ ## Traceability Rules
92
+
93
+ Every bolt MUST satisfy the following traceability requirements:
94
+
95
+ - **Requirement reference is mandatory**: Every bolt must reference at least one requirement ID in its `requirements` frontmatter field and its `## Traceability` section. Requirement IDs come from `requirements.md` (e.g., `FR-1`, `FR-3`). A bolt with no requirement reference is invalid and must be revised before execution.
96
+ - **Story reference is recommended but optional**: Not all bolts map directly to user stories (infrastructure, scaffolding, and cross-cutting bolts often do not). Include story IDs when they exist; leave the `stories` field as an empty array `[]` when none apply.
97
+ - **Planner responsibility**: The planner agent is responsible for reading the inception `requirements.md` and `stories.md` artifacts and populating these fields for every bolt it generates. Do not leave them as placeholder values.
98
+ - **Coverage check at plan completion**: After all bolts for a unit are planned, a coverage check verifies that every requirement with `must` priority in `requirements.md` is addressed by at least one bolt. Unaddressed `must` requirements must be resolved before bolt execution begins (either by revising an existing bolt's scope or adding a new bolt).
99
+
100
+ ---
101
+
83
102
  ## Coverage Validation
84
103
 
85
- After bolt decomposition, the BoltPlanner validates that the bolt set covers all unit stories.
104
+ After bolt decomposition, the BoltPlanner validates that the bolt set covers all unit stories and requirements.
86
105
 
87
106
  | Coverage | Result |
88
107
  |----------|--------|
@@ -90,7 +109,9 @@ After bolt decomposition, the BoltPlanner validates that the bolt set covers all
90
109
  | 80-94% | Warning — user must explicitly acknowledge the gap before proceeding |
91
110
  | < 80% | Hard block — bolt planning rejected, must revise decomposition |
92
111
 
93
- Coverage is measured as: (stories with at least one covering bolt) / (total unit stories).
112
+ Story coverage is measured as: (stories with at least one covering bolt) / (total unit stories).
113
+
114
+ Requirement coverage (must-priority only): all `must`-priority requirements in `requirements.md` must be referenced by at least one bolt. Any uncovered `must` requirement is treated as a hard block regardless of story coverage score.
94
115
 
95
116
  ---
96
117
 
@@ -100,12 +100,25 @@ These fields are stored on the `ConstructionBoltProgress` object alongside the b
100
100
 
101
101
  ---
102
102
 
103
+ ## Traceability Check
104
+
105
+ As part of evaluating each bolt, BoltReviewer performs a lightweight traceability check:
106
+
107
+ - Read the `requirements` and `stories` fields from the bolt's `spec.md` frontmatter and the `## Traceability` section.
108
+ - Verify that the generated code actually touches functionality relevant to the cited requirement IDs. If a bolt claims to satisfy `FR-3` (e.g., "user authentication") but the code contains no authentication logic, flag this as a concern.
109
+ - Add a **Traceability** line to `review.md` under the **Feedback** section:
110
+ `Traceability: Requirements {ID list} addressed — Yes / Partial / No`
111
+ - A "Partial" or "No" finding should reduce the alignment score and appear as a **Concerns** item. It does not automatically trigger a hard block, but it does lower the score and may push a bolt into the advisory or rejected tier.
112
+
113
+ ---
114
+
103
115
  ## BoltReviewer Behavior
104
116
 
105
117
  BoltReviewer is a decision engine, not an interactive agent. It:
106
118
 
107
119
  - Reads the bolt spec (`spec.md`) and the generated code in `Target Files`
108
120
  - Evaluates alignment against each acceptance criterion
121
+ - Performs a traceability check against the cited requirement and story IDs
109
122
  - Computes a score and selects a tier
110
123
  - Writes the `review.md` artifact
111
124
  - Returns a structured decision object to the orchestrator
@@ -406,6 +406,7 @@ When a unit has been decomposed into bolts (see `resources/rules/construction/bo
406
406
 
407
407
  - Each bolt has its own `spec.md` defining scope, acceptance criteria, and target files
408
408
  - The code generation agent receives one bolt spec at a time
409
+ - **Before writing any code**, the agent MUST read the bolt's `## Traceability` section (and the `requirements` / `stories` frontmatter fields) to understand which business requirements this bolt serves and why it exists. This context informs implementation decisions — for example, knowing a bolt satisfies `FR-5` (audit logging) tells the agent to write every mutating operation with an audit trail, even if the acceptance criteria do not spell out every detail.
409
410
  - After each bolt's code generation completes, **Bolt Review** runs before the next bolt begins (see `resources/rules/construction/bolt-review.md`)
410
411
  - The checkpoint tracks bolt state via `construction_bolts`, `active_bolt_id`, and `active_bolt_stage`
411
412
  - The unit-level code generation plan still governs overall unit scope; bolts decompose its execution into focused, reviewable increments
@@ -160,18 +160,54 @@ 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
166
  - [ ] Include acceptance criteria for each story (Gherkin Given/When/Then format)
167
167
  - [ ] Include edge cases for non-trivial stories
168
168
  - [ ] Map personas to relevant user stories
169
+ - [ ] **Conditional** (> 5 stories): Generate individual story files in `stories/` subdirectory
169
170
 
170
171
  ### Story Naming Convention (MANDATORY)
171
172
 
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.
173
174
 
174
- ### Story Template (MANDATORY)
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)
175
211
 
176
212
  Each story in `stories.md` MUST follow this structure:
177
213
 
@@ -197,11 +233,52 @@ Each story in `stories.md` MUST follow this structure:
197
233
  - Enables: {S-NNN or "None"}
198
234
  ```
199
235
 
200
- **Rules**:
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
+
201
275
  - Every story MUST have at least one Given/When/Then acceptance criterion
202
276
  - Edge Cases table is MANDATORY for stories with priority `must`, optional for `should`/`could`
203
277
  - Dependencies track inter-story ordering — use "None" when the story is independent
204
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
205
282
 
206
283
  ## Step 5: Present Story Options
207
284
  - Include different approaches for story breakdown in the plan document:
@@ -20,10 +20,14 @@
20
20
  - requirements.md (includes intent analysis)
21
21
  - requirements-analysis-questions.md (with answers)
22
22
 
23
+ > **Traceability prerequisite**: Verify that `requirements.md` contains named requirement IDs in `FR-NNN` format (e.g., `FR-001`, `FR-002`). These IDs are referenced throughout construction — bolt specs cite them in `requirements` frontmatter and `## Traceability` sections, and the bolt planner performs coverage checks against `must`-priority requirements. If requirements exist but lack explicit IDs, add them before proceeding to construction.
24
+
23
25
  ### 1.3 Load User Stories (if executed)
24
26
  - stories.md
25
27
  - personas.md
26
28
 
29
+ > **Traceability prerequisite**: Verify that `stories.md` contains named story IDs in `S-NNN` format (e.g., `S-001`, `S-002`). These IDs are referenced in bolt specs and coverage validation. If stories exist but lack explicit IDs, add them before proceeding to construction.
30
+
27
31
  ## Step 2: Detailed Scope and Impact Analysis
28
32
 
29
33
  **Now that we have complete context (requirements + stories), perform detailed analysis:**
@@ -606,7 +606,7 @@ Generate 4 questions (scale up/down based on trust level):
606
606
  1. **Functional Requirements**: What specific capabilities must this feature deliver? (options: A. {list option}, B. {another}, etc.)
607
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)
608
608
  3. **Constraints**: What technical or business constraints must the implementation respect? (options around timeline, compatibility, team skills, platform, budget, etc.)
609
- 4. **Success Metrics**: How will we measure that this feature succeeded? (options around quantitative metrics, qualitative goals, user adoption, etc.)
609
+ 4. **Success Criteria**: How will we measure that this feature succeeded? (options around quantitative metrics, qualitative goals, user adoption, etc.)
610
610
 
611
611
  Update checkpoint: `inception_stages["requirements-analysis"].questions_file = "aidlc-docs/{workflowId}/inception/requirements/requirements-analysis-questions.md"`
612
612
 
@@ -650,7 +650,7 @@ created: "{ISO-8601}"
650
650
  - **FR-001**: {requirement from answers}
651
651
 
652
652
  ## User Stories
653
- - **US-001**: As a {persona}, I want {action} so that {benefit}
653
+ - **S-001**: As a {persona}, I want {action} so that {benefit}
654
654
  - Acceptance: {testable criterion}
655
655
 
656
656
  ## Business Rules
@@ -775,7 +775,7 @@ Read `intent.md` and `requirements.md` for context.
775
775
  - **Goals**: {what they want to achieve}
776
776
  - **Pain Points**: {current frustrations}
777
777
  - **Technical Level**: {novice | intermediate | expert}
778
- - **Key User Stories**: US-001, US-002, ...
778
+ - **Key User Stories**: S-001, S-002, ...
779
779
  ```
780
780
 
781
781
  **`aidlc-docs/{workflowId}/inception/user-stories/stories.md`** (Gherkin format):
@@ -783,7 +783,7 @@ Read `intent.md` and `requirements.md` for context.
783
783
  ```markdown
784
784
  # User Stories: {Title}
785
785
 
786
- ## US-001: {Short title}
786
+ ## S-001: {Short title}
787
787
  **As a** {persona}, **I want** {action} **so that** {benefit}.
788
788
 
789
789
  ### Acceptance Criteria
@@ -797,7 +797,7 @@ Then {expected outcome}
797
797
 
798
798
  **Priority**: Must Have | Should Have | Nice to Have
799
799
  **Persona**: {persona name}
800
- **Dependencies**: {US-00X or none}
800
+ **Dependencies**: {S-00X or none}
801
801
  ```
802
802
 
803
803
  ### 8b. Update state (triple write)
@@ -1167,7 +1167,8 @@ Read `requirements/requirements.md`, `user-stories/stories.md`, and `application
1167
1167
  - **Scope**: {one-sentence scope description}
1168
1168
  - **Phase**: construction
1169
1169
  - **Estimated Effort**: {N}
1170
- - **User Stories**: US-001, US-002
1170
+ - **Requirements**: FR-001, FR-002
1171
+ - **User Stories**: S-001, S-002
1171
1172
  - **NFRs**: SEC-001, PERF-001
1172
1173
  - **Components**: {component names}
1173
1174
  - **Folder**: `construction/UNIT-001-{module-name-kebab}/`
@@ -1176,6 +1177,8 @@ Read `requirements/requirements.md`, `user-stories/stories.md`, and `application
1176
1177
  ...
1177
1178
  ```
1178
1179
 
1180
+ > **Note**: The `Requirements` field lists the FR-N IDs from `requirements.md` that this unit addresses. These IDs flow directly into bolt planning — the bolt planner reads them to populate the `requirements` frontmatter field and `## Traceability` section of each bolt spec. Establish requirement IDs during Requirements Analysis so they are available here.
1181
+
1179
1182
  **`aidlc-docs/{workflowId}/inception/application-design/unit-of-work-dependency.md`**:
1180
1183
 
1181
1184
  ```markdown
@@ -1207,9 +1210,9 @@ graph TD
1207
1210
 
1208
1211
  | User Story | Unit | Priority | Notes |
1209
1212
  |-----------|------|---------|-------|
1210
- | US-001 | U-001: {Name A} | Must Have | |
1211
- | US-002 | U-001: {Name A} | Should Have | |
1212
- | US-003 | U-002: {Name B} | Must Have | |
1213
+ | S-001 | U-001: {Name A} | Must Have | |
1214
+ | S-002 | U-001: {Name A} | Should Have | |
1215
+ | S-003 | U-002: {Name B} | Must Have | |
1213
1216
  ```
1214
1217
 
1215
1218
  ### 11b. Update state (triple write)