@llm-dev-ops/agentics-cli 2.7.35 → 2.7.37

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 (61) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/commands/agents.d.ts.map +1 -1
  4. package/dist/commands/agents.js +24 -70
  5. package/dist/commands/agents.js.map +1 -1
  6. package/dist/mcp/agent-event-parser.d.ts +1 -11
  7. package/dist/mcp/agent-event-parser.d.ts.map +1 -1
  8. package/dist/mcp/agent-event-parser.js +7 -140
  9. package/dist/mcp/agent-event-parser.js.map +1 -1
  10. package/dist/mcp/mcp-server.js +0 -58
  11. package/dist/mcp/mcp-server.js.map +1 -1
  12. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  13. package/dist/pipeline/auto-chain.js +27 -93
  14. package/dist/pipeline/auto-chain.js.map +1 -1
  15. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts +21 -18
  16. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts.map +1 -1
  17. package/dist/pipeline/local-fallback/phase5a-local-fallback.js +92 -397
  18. package/dist/pipeline/local-fallback/phase5a-local-fallback.js.map +1 -1
  19. package/dist/pipeline/phase2/phases/adr-generator.d.ts +29 -1
  20. package/dist/pipeline/phase2/phases/adr-generator.d.ts.map +1 -1
  21. package/dist/pipeline/phase2/phases/adr-generator.js +709 -1399
  22. package/dist/pipeline/phase2/phases/adr-generator.js.map +1 -1
  23. package/dist/pipeline/phase2/phases/research-dossier.d.ts.map +1 -1
  24. package/dist/pipeline/phase2/phases/research-dossier.js +2 -33
  25. package/dist/pipeline/phase2/phases/research-dossier.js.map +1 -1
  26. package/dist/pipeline/phase2/types.d.ts +19 -57
  27. package/dist/pipeline/phase2/types.d.ts.map +1 -1
  28. package/dist/pipeline/phase4-adrs/adr-index-extractor.d.ts +75 -0
  29. package/dist/pipeline/phase4-adrs/adr-index-extractor.d.ts.map +1 -0
  30. package/dist/pipeline/phase4-adrs/adr-index-extractor.js +200 -0
  31. package/dist/pipeline/phase4-adrs/adr-index-extractor.js.map +1 -0
  32. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
  33. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +70 -68
  34. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
  35. package/dist/pipeline/phases/adr-ddd-generator.d.ts.map +1 -1
  36. package/dist/pipeline/phases/adr-ddd-generator.js +48 -2
  37. package/dist/pipeline/phases/adr-ddd-generator.js.map +1 -1
  38. package/dist/pipeline/phases/prompt-generator.js +191 -80
  39. package/dist/pipeline/phases/prompt-generator.js.map +1 -1
  40. package/dist/pipeline/ruflo-phase-executor.d.ts.map +1 -1
  41. package/dist/pipeline/ruflo-phase-executor.js +69 -17
  42. package/dist/pipeline/ruflo-phase-executor.js.map +1 -1
  43. package/dist/pipeline/types.d.ts +14 -1
  44. package/dist/pipeline/types.d.ts.map +1 -1
  45. package/dist/synthesis/ask-artifact-writer.d.ts +1 -1
  46. package/dist/synthesis/ask-artifact-writer.d.ts.map +1 -1
  47. package/dist/synthesis/ask-artifact-writer.js +9 -9
  48. package/dist/synthesis/ask-artifact-writer.js.map +1 -1
  49. package/dist/synthesis/simulation-artifact-generator.d.ts +1 -27
  50. package/dist/synthesis/simulation-artifact-generator.d.ts.map +1 -1
  51. package/dist/synthesis/simulation-artifact-generator.js +38 -128
  52. package/dist/synthesis/simulation-artifact-generator.js.map +1 -1
  53. package/package.json +1 -1
  54. package/dist/cli/ui/heartbeat.d.ts +0 -88
  55. package/dist/cli/ui/heartbeat.d.ts.map +0 -1
  56. package/dist/cli/ui/heartbeat.js +0 -158
  57. package/dist/cli/ui/heartbeat.js.map +0 -1
  58. package/dist/synthesis/agent-fleet-decomposer.d.ts +0 -124
  59. package/dist/synthesis/agent-fleet-decomposer.d.ts.map +0 -1
  60. package/dist/synthesis/agent-fleet-decomposer.js +0 -696
  61. package/dist/synthesis/agent-fleet-decomposer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase2/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;QACnC,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAMD,+DAA+D;AAC/D,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,SAAS,GACT,mBAAmB,GACnB,iBAAiB,GACjB,eAAe,CAAC;AAEpB,4CAA4C;AAC5C,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,YAAY,GACZ,MAAM,GACN,aAAa,GACb,UAAU,GACV,mBAAmB,GACnB,gBAAgB,GAChB,oBAAoB,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EACjB,WAAW,GACX,YAAY,GACZ,YAAY,GACZ,UAAU,GACV,gBAAgB,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,EAAE,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC;AAMD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CAChD;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,kEAAkE;AAClE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,sBAAsB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;CACpC;AAED,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;QACjC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;CACvC;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,sBAAsB,EAAE,aAAa,CAAC;QAC7C,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC;QACzC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC,CAAC;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAMD,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,iDAAiD;AACjD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;IACtG,2DAA2D;IAC3D,QAAQ,CAAC,0BAA0B,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5D,wEAAwE;IACxE,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAChD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;IACxD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IAC9C,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACpC,wEAAwE;IACxE,QAAQ,CAAC,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAC3C,oDAAoD;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAG/B,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,sEAAsE;IACtE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,oFAAoF;IACpF,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACxD,mEAAmE;IACnE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;IAC7G,gEAAgE;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,uFAAuF;IACvF,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,oEAAoE;IACpE,QAAQ,CAAC,oBAAoB,CAAC,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;KAAE,CAAC;CAChH;AAMD,qCAAqC;AACrC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,+EAA+E;AAC/E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;CACnC;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wEAAwE;AACxE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;IAChC,QAAQ,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,CAAC;IACtD,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACnC,mGAAmG;IACnG,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EACT,aAAa,GACb,mBAAmB,GACnB,YAAY,GACZ,sBAAsB,GACtB,mBAAmB,GACnB,eAAe,GACf,oBAAoB,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,wDAAwD;IACxD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAC7C,QAAQ,CAAC,0BAA0B,EAAE,sBAAsB,EAAE,CAAC;IAC9D,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAMD,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,UAAU,GAAG,aAAa,GAAG,OAAO,CAAC;CAC9D;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,KAAK,CAAC;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACpC,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,EACjB,uBAAuB,GACvB,aAAa,GACb,aAAa,CAAC;IAClB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;IAC3C,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;CACnC;AAMD,8DAA8D;AAC9D,MAAM,MAAM,WAAW,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,GAChB,gBAAgB,GAChB,qBAAqB,GACrB,mBAAmB,CAAC;AAExB,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAChE;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC3D,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC;CAC1C;AAED,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,EAAE,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase2/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * ADR-PIPELINE-100 §D2: thin extractor that walks `phase4/adrs/*.md` and
3
+ * derives a flat `adr-index.json` for downstream consumers.
4
+ *
5
+ * The markdown files are the canonical source of truth (per §D1). This index
6
+ * is intentionally narrow — it captures only the fields downstream consumers
7
+ * navigate by (id, title, status, date, phaseTags, filePath, buildsOn,
8
+ * relatedDecisions). We do NOT try to faithfully serialise the full ADR back
9
+ * into JSON; that's the pattern that produced the 5-field schema this ADR is
10
+ * replacing.
11
+ */
12
+ /** Build phase tag — drives phase-aware ADR injection in implementation prompts (§D4). */
13
+ export type AdrPhaseTag = 'foundation' | 'domain' | 'integration' | 'api' | 'deployment' | 'operations' | 'cross-cutting' | string;
14
+ /**
15
+ * Flat metadata head for one ADR markdown document.
16
+ * `filePath` is relative to the directory the index was written to.
17
+ */
18
+ export interface AdrIndexEntry {
19
+ readonly id: string;
20
+ readonly title: string;
21
+ readonly status: 'proposed' | 'accepted' | 'deprecated' | 'failed' | string;
22
+ readonly date: string;
23
+ readonly priority?: string;
24
+ readonly buildsOn: string[];
25
+ readonly relatedDecisions: string[];
26
+ readonly phaseTags: AdrPhaseTag[];
27
+ readonly filePath: string;
28
+ readonly byteSize: number;
29
+ }
30
+ /**
31
+ * Public entry point: walk `adrDir` for `*.md` files, extract metadata,
32
+ * write `adr-index.json` alongside them, and return the list of entries.
33
+ *
34
+ * Tolerant of:
35
+ * - missing/unreadable files (skipped with a stderr warning)
36
+ * - malformed headers (best-effort fallback values)
37
+ * - mixed casing in `**Status:**`/`**Date:**` lines
38
+ * - alternative ID formats (ADR-NNN, ADR-P2-NNN, ADR-PIPELINE-NNN, ADR-FAIL-NNN)
39
+ */
40
+ export declare function extractAdrIndex(adrDir: string): AdrIndexEntry[];
41
+ /**
42
+ * Convenience: extract the index AND write it to `adrDir/adr-index.json`.
43
+ * Returns the entries it wrote.
44
+ */
45
+ export declare function writeAdrIndex(adrDir: string): AdrIndexEntry[];
46
+ interface AdrMetadata {
47
+ id: string;
48
+ title: string;
49
+ status: string;
50
+ date: string;
51
+ priority?: string;
52
+ buildsOn: string[];
53
+ relatedDecisions: string[];
54
+ phaseTags: AdrPhaseTag[];
55
+ }
56
+ /**
57
+ * Parse a single ADR markdown document into flat metadata.
58
+ *
59
+ * Heading conventions (matched case-insensitively, tolerant of whitespace):
60
+ * `# ADR-XXX-NNN: <title>` → id, title
61
+ * `**Status:** <value>` → status (lower-cased)
62
+ * `**Date:** <value>` → date
63
+ * `**Priority:** <value>` → priority (optional)
64
+ * `**Builds on:** ADR-X, ADR-Y, ...` → buildsOn (extract ADR IDs)
65
+ * `**Implementation Phase:** <tag>` → phaseTags (split on `,` `/` `|`)
66
+ * `## Related Decisions` + bulleted → relatedDecisions (extract ADR IDs)
67
+ */
68
+ export declare function parseAdrMetadata(content: string): AdrMetadata;
69
+ /**
70
+ * Extract ADR IDs (e.g. ADR-PIPELINE-100, ADR-027, ADR-P2-005, ADR-FAIL-001)
71
+ * from a free-text blob. De-duplicates while preserving first-seen order.
72
+ */
73
+ export declare function extractAdrIdsFromText(text: string): string[];
74
+ export {};
75
+ //# sourceMappingURL=adr-index-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-index-extractor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/adr-index-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,0FAA0F;AAC1F,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,QAAQ,GACR,aAAa,GACb,KAAK,GACL,YAAY,GACZ,YAAY,GACZ,eAAe,GACf,MAAM,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CA2C/D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CAe7D;AAMD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CA0D7D;AA2BD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAa5D"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * ADR-PIPELINE-100 §D2: thin extractor that walks `phase4/adrs/*.md` and
3
+ * derives a flat `adr-index.json` for downstream consumers.
4
+ *
5
+ * The markdown files are the canonical source of truth (per §D1). This index
6
+ * is intentionally narrow — it captures only the fields downstream consumers
7
+ * navigate by (id, title, status, date, phaseTags, filePath, buildsOn,
8
+ * relatedDecisions). We do NOT try to faithfully serialise the full ADR back
9
+ * into JSON; that's the pattern that produced the 5-field schema this ADR is
10
+ * replacing.
11
+ */
12
+ import * as fs from 'node:fs';
13
+ import * as path from 'node:path';
14
+ /**
15
+ * Public entry point: walk `adrDir` for `*.md` files, extract metadata,
16
+ * write `adr-index.json` alongside them, and return the list of entries.
17
+ *
18
+ * Tolerant of:
19
+ * - missing/unreadable files (skipped with a stderr warning)
20
+ * - malformed headers (best-effort fallback values)
21
+ * - mixed casing in `**Status:**`/`**Date:**` lines
22
+ * - alternative ID formats (ADR-NNN, ADR-P2-NNN, ADR-PIPELINE-NNN, ADR-FAIL-NNN)
23
+ */
24
+ export function extractAdrIndex(adrDir) {
25
+ if (!fs.existsSync(adrDir))
26
+ return [];
27
+ let files;
28
+ try {
29
+ files = fs.readdirSync(adrDir)
30
+ .filter(f => f.toLowerCase().endsWith('.md'))
31
+ .sort();
32
+ }
33
+ catch {
34
+ return [];
35
+ }
36
+ const entries = [];
37
+ for (const file of files) {
38
+ const abs = path.join(adrDir, file);
39
+ let content;
40
+ let stat;
41
+ try {
42
+ stat = fs.statSync(abs);
43
+ if (!stat.isFile())
44
+ continue;
45
+ content = fs.readFileSync(abs, 'utf-8');
46
+ }
47
+ catch (err) {
48
+ process.stderr.write(`[adr-index-extractor] skipping unreadable ${file}: ${err instanceof Error ? err.message : String(err)}\n`);
49
+ continue;
50
+ }
51
+ const meta = parseAdrMetadata(content);
52
+ entries.push({
53
+ id: meta.id || stripExt(file),
54
+ title: meta.title || stripExt(file),
55
+ status: meta.status || 'unknown',
56
+ date: meta.date || '',
57
+ priority: meta.priority,
58
+ buildsOn: meta.buildsOn,
59
+ relatedDecisions: meta.relatedDecisions,
60
+ phaseTags: meta.phaseTags,
61
+ filePath: file,
62
+ byteSize: stat.size,
63
+ });
64
+ }
65
+ return entries;
66
+ }
67
+ /**
68
+ * Convenience: extract the index AND write it to `adrDir/adr-index.json`.
69
+ * Returns the entries it wrote.
70
+ */
71
+ export function writeAdrIndex(adrDir) {
72
+ const entries = extractAdrIndex(adrDir);
73
+ if (entries.length === 0)
74
+ return entries;
75
+ const indexPath = path.join(adrDir, 'adr-index.json');
76
+ try {
77
+ fs.writeFileSync(indexPath, JSON.stringify(entries, null, 2) + '\n', {
78
+ encoding: 'utf-8',
79
+ mode: 0o644,
80
+ });
81
+ }
82
+ catch (err) {
83
+ process.stderr.write(`[adr-index-extractor] failed to write ${indexPath}: ${err instanceof Error ? err.message : String(err)}\n`);
84
+ }
85
+ return entries;
86
+ }
87
+ /**
88
+ * Parse a single ADR markdown document into flat metadata.
89
+ *
90
+ * Heading conventions (matched case-insensitively, tolerant of whitespace):
91
+ * `# ADR-XXX-NNN: <title>` → id, title
92
+ * `**Status:** <value>` → status (lower-cased)
93
+ * `**Date:** <value>` → date
94
+ * `**Priority:** <value>` → priority (optional)
95
+ * `**Builds on:** ADR-X, ADR-Y, ...` → buildsOn (extract ADR IDs)
96
+ * `**Implementation Phase:** <tag>` → phaseTags (split on `,` `/` `|`)
97
+ * `## Related Decisions` + bulleted → relatedDecisions (extract ADR IDs)
98
+ */
99
+ export function parseAdrMetadata(content) {
100
+ const meta = {
101
+ id: '',
102
+ title: '',
103
+ status: '',
104
+ date: '',
105
+ buildsOn: [],
106
+ relatedDecisions: [],
107
+ phaseTags: [],
108
+ };
109
+ // H1: `# ADR-...: <title>` or just `# <title>` if the LLM forgot the ID
110
+ // prefix. Case-insensitive on the ADR prefix so lowercase IDs (rare but
111
+ // possible in user-pasted ADRs) still parse.
112
+ const h1Re = /^#\s+(ADR[-\w]*\d+)[:\s]+(.+?)\s*$/im;
113
+ const h1 = content.match(h1Re);
114
+ if (h1) {
115
+ meta.id = h1[1].trim();
116
+ meta.title = h1[2].trim();
117
+ }
118
+ else {
119
+ const anyH1 = content.match(/^#\s+(.+?)\s*$/m);
120
+ if (anyH1) {
121
+ const text = anyH1[1].trim();
122
+ const idMatch = text.match(/^(ADR[-\w]*\d+)[:\s]+(.+)$/i);
123
+ if (idMatch) {
124
+ meta.id = idMatch[1].trim();
125
+ meta.title = idMatch[2].trim();
126
+ }
127
+ else {
128
+ meta.title = text;
129
+ }
130
+ }
131
+ }
132
+ meta.status = pickFieldLine(content, 'Status').toLowerCase();
133
+ meta.date = pickFieldLine(content, 'Date');
134
+ const priority = pickFieldLine(content, 'Priority');
135
+ if (priority)
136
+ meta.priority = priority;
137
+ const buildsOnLine = pickFieldLine(content, 'Builds on');
138
+ if (buildsOnLine) {
139
+ meta.buildsOn = extractAdrIdsFromText(buildsOnLine);
140
+ }
141
+ const phaseLine = pickFieldLine(content, 'Implementation Phase');
142
+ if (phaseLine) {
143
+ meta.phaseTags = phaseLine
144
+ .split(/[,/|]+/)
145
+ .map(s => s.trim().toLowerCase())
146
+ .filter(s => s.length > 0);
147
+ }
148
+ // Related Decisions section
149
+ const relatedSection = pickSection(content, /^##\s+related\s+decisions\b/im);
150
+ if (relatedSection) {
151
+ meta.relatedDecisions = extractAdrIdsFromText(relatedSection);
152
+ }
153
+ return meta;
154
+ }
155
+ /**
156
+ * Match a `**FieldName:** value` line and return the trimmed value.
157
+ * Case-insensitive on the field name; preserves the value's case.
158
+ */
159
+ function pickFieldLine(content, fieldName) {
160
+ const escaped = fieldName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
161
+ const re = new RegExp(`^\\*\\*${escaped}:\\*\\*\\s*(.+?)\\s*$`, 'im');
162
+ const m = content.match(re);
163
+ return m ? m[1].trim() : '';
164
+ }
165
+ /**
166
+ * Extract the body text under a heading (matched by `headingRe`) up to the
167
+ * next H1/H2, or end of document. Returns the trimmed body or empty string
168
+ * when the heading is absent.
169
+ */
170
+ function pickSection(content, headingRe) {
171
+ const m = headingRe.exec(content);
172
+ if (!m)
173
+ return '';
174
+ const start = m.index + m[0].length;
175
+ const after = content.slice(start);
176
+ const nextHeading = /^(?:#{1,2})\s+/m.exec(after);
177
+ return (nextHeading ? after.slice(0, nextHeading.index) : after).trim();
178
+ }
179
+ /**
180
+ * Extract ADR IDs (e.g. ADR-PIPELINE-100, ADR-027, ADR-P2-005, ADR-FAIL-001)
181
+ * from a free-text blob. De-duplicates while preserving first-seen order.
182
+ */
183
+ export function extractAdrIdsFromText(text) {
184
+ const re = /\bADR[-\w]*\d+\b/gi;
185
+ const seen = new Set();
186
+ const out = [];
187
+ let m;
188
+ while ((m = re.exec(text)) !== null) {
189
+ const id = m[0];
190
+ if (!seen.has(id)) {
191
+ seen.add(id);
192
+ out.push(id);
193
+ }
194
+ }
195
+ return out;
196
+ }
197
+ function stripExt(filename) {
198
+ return filename.replace(/\.md$/i, '');
199
+ }
200
+ //# sourceMappingURL=adr-index-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-index-extractor.js","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/adr-index-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"phase4-adrs-coordinator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/phase4-adrs-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAkB,MAAM,YAAY,CAAC;AAwd5F;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAmZlC"}
1
+ {"version":3,"file":"phase4-adrs-coordinator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/phase4-adrs-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAkB,MAAM,YAAY,CAAC;AAyd5F;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAuZlC"}
@@ -12,10 +12,11 @@
12
12
  */
13
13
  import * as fs from 'node:fs';
14
14
  import * as path from 'node:path';
15
- import { buildPhase2ADRs } from '../phase2/phases/adr-generator.js';
15
+ import { buildLoudFailureADR } from '../phase2/phases/adr-generator.js';
16
16
  import { createSpan, endSpan, emitSpan, writeSpans } from '../phase2/telemetry.js';
17
17
  import { writePhase4ADRManifest } from './manifest-writer.js';
18
18
  import { checkRufloAvailable } from '../ruflo-phase-executor.js';
19
+ import { writeAdrIndex } from './adr-index-extractor.js';
19
20
  // ============================================================================
20
21
  // ADR-091: Ruflo-primary engineering artifacts
21
22
  // ============================================================================
@@ -243,8 +244,22 @@ function refineADRsFromRufloEngineering(runDir, phase4Dir) {
243
244
  const adrDir = path.join(phase4Dir, 'adrs');
244
245
  fs.mkdirSync(adrDir, { recursive: true });
245
246
  const writtenPaths = [];
246
- // Build Phase2ADRRecord-shaped objects for the index JSON so downstream
247
- // readers (consensus, exec-summary) see a familiar shape.
247
+ for (const adr of parsed) {
248
+ const filename = `${adr.id}.md`;
249
+ const filePath = path.join(adrDir, filename);
250
+ fs.writeFileSync(filePath, renderRefinedAdrMarkdown(adr), {
251
+ encoding: 'utf-8',
252
+ mode: 0o644,
253
+ });
254
+ writtenPaths.push(filePath);
255
+ }
256
+ // ADR-PIPELINE-100 §D2: derive the flat adr-index.json from the markdown
257
+ // files we just wrote. The markdown is canonical; the index is navigational.
258
+ writeAdrIndex(adrDir);
259
+ writtenPaths.push(path.join(adrDir, 'adr-index.json'));
260
+ // Phase4-internal data shape kept Phase2ADRRecord-compatible so consensus /
261
+ // exec-summary readers that haven't been migrated yet still work. The
262
+ // canonical artifacts on disk are the .md files + the flat index.
248
263
  const indexRecords = parsed.map((adr) => ({
249
264
  id: adr.id,
250
265
  title: adr.title,
@@ -256,22 +271,8 @@ function refineADRsFromRufloEngineering(runDir, phase4Dir) {
256
271
  consequences: [],
257
272
  sparcSectionRefs: [],
258
273
  researchDossierItemRefs: [],
274
+ rawMarkdown: adr.rawMarkdown,
259
275
  }));
260
- for (const adr of parsed) {
261
- const filename = `${adr.id}.md`;
262
- const filePath = path.join(adrDir, filename);
263
- fs.writeFileSync(filePath, renderRefinedAdrMarkdown(adr), {
264
- encoding: 'utf-8',
265
- mode: 0o644,
266
- });
267
- writtenPaths.push(filePath);
268
- }
269
- const indexPath = path.join(adrDir, 'adr-index.json');
270
- fs.writeFileSync(indexPath, JSON.stringify(indexRecords, null, 2) + '\n', {
271
- encoding: 'utf-8',
272
- mode: 0o644,
273
- });
274
- writtenPaths.push(indexPath);
275
276
  return tagStageOutput({
276
277
  stage: 'adr-generation',
277
278
  status: 'completed',
@@ -521,60 +522,61 @@ export async function executePhase4ADRPipeline(context) {
521
522
  timing: 0,
522
523
  summary: '',
523
524
  };
524
- // Last-resort template fallback (ADR-091 §3): fires ONLY when both
525
- // (a) Ruflo engineering/architecture-decisions.md is missing/empty, AND
526
- // (b) checkRufloAvailable() reports no local Ruflo swarm capability.
527
- // Under normal operation (Ruflo available), this branch never executes.
528
- const adrRufloAvailable = checkRufloAvailable().available;
529
- if ((adrOutput.status === 'failed' || adrOutput.artifacts.length === 0) &&
530
- !adrRufloAvailable) {
531
- process.stderr.write('[phase4-adrs] ADR-091 template fallback: no engineering/architecture-decisions.md ' +
532
- 'AND ruflo unavailable — generating ADRs from SPARC template\n');
525
+ // ADR-PIPELINE-100 §D5: Loud-failure replaces silent template fallback.
526
+ // Fires when the Ruflo primary path produced no usable
527
+ // engineering/architecture-decisions.md (regardless of whether Ruflo is
528
+ // "available" as a binary). The previous behavior (call buildADRsFromSPARC
529
+ // when Ruflo was reported unavailable) emitted template-substituted ADRs
530
+ // that the user has classified as canned garbage. Loud failure surfaces
531
+ // the regression at the artifact level instead.
532
+ if (adrOutput.status === 'failed' || adrOutput.artifacts.length === 0) {
533
+ const rufloAvailable = checkRufloAvailable().available;
534
+ process.stderr.write(`[phase4-adrs] ADR-PIPELINE-100 §D5: emitting loud-failure ADR ` +
535
+ `(ruflo ${rufloAvailable ? 'available but' : 'unavailable;'} produced no usable architecture-decisions.md)\n`);
533
536
  try {
534
- const sparcStage = context.stageOutputs.get('sparc-specification');
535
537
  const dossierStage = context.stageOutputs.get('research-dossier');
536
- const sparc = sparcStage?.data;
538
+ const sparcStage = context.stageOutputs.get('sparc-specification');
537
539
  const dossier = dossierStage?.data;
538
- if (sparc && dossier) {
539
- // Pass the original query so ADR generation can produce domain-specific decisions
540
- const query = phase1Artifacts?.scenario?.query ?? phase1Artifacts?.manifest?.query ?? '';
541
- const adrs = buildPhase2ADRs(sparc, dossier, query, true /* skipLLM — template fallback */);
542
- // Write ADR files to phase4 output directory
543
- const adrDir = path.join(context.phase4Dir, 'adrs');
544
- fs.mkdirSync(adrDir, { recursive: true });
545
- const writtenPaths = [];
546
- for (const adr of adrs) {
547
- const slug = (adr.title || 'untitled').toLowerCase().replace(/[^a-z0-9]+/g, '-').slice(0, 60);
548
- const filename = `${adr.id}-${slug}.md`;
549
- const filePath = path.join(adrDir, filename);
550
- const md = [
551
- `# ${adr.id}: ${adr.title}`,
552
- `\n**Status:** ${adr.status}`,
553
- `**Date:** ${adr.date}`,
554
- `\n## Context\n${adr.context}`,
555
- `\n## Decision\n${adr.decision}`,
556
- adr.alternatives.length > 0 ? `\n## Alternatives Considered\n${adr.alternatives.map(a => `- **${a.option}** ${a.rejected ? '(rejected)' : '(selected)'}: ${a.rationale}`).join('\n')}` : '',
557
- adr.consequences.length > 0 ? `\n## Consequences\n${adr.consequences.map(c => `- [${c.type === 'positive' ? '+' : c.type === 'negative' ? '-' : '~'}] ${c.description}`).join('\n')}` : '',
558
- ].filter(Boolean).join('\n');
559
- fs.writeFileSync(filePath, md + '\n', { encoding: 'utf-8', mode: 0o644 });
560
- writtenPaths.push(filePath);
561
- }
562
- const indexPath = path.join(adrDir, 'adr-index.json');
563
- fs.writeFileSync(indexPath, JSON.stringify(adrs, null, 2) + '\n', { encoding: 'utf-8', mode: 0o644 });
564
- writtenPaths.push(indexPath);
565
- process.stderr.write(`[phase4-adrs] Template fallback produced ${adrs.length} ADRs (${writtenPaths.length} files)\n`);
566
- adrOutput = tagStageOutput({
567
- stage: 'adr-generation',
568
- status: 'completed',
569
- data: adrs,
570
- artifacts: writtenPaths,
571
- timing: 0,
572
- summary: ` ADRs (template): ${adrs.length} decisions (${writtenPaths.length - 1} markdown + 1 JSON index)`,
573
- }, 'template');
574
- }
540
+ const sparc = sparcStage?.data;
541
+ const failureAdr = buildLoudFailureADR({
542
+ reason: 'Ruflo writer-agent path produced no usable engineering/architecture-decisions.md and Phase 2 LLM pass also did not yield content for refinement.',
543
+ rufloFailureReason: rufloAvailable
544
+ ? 'Ruflo available but emitted no usable architecture-decisions.md (writer task likely produced 0 files; see Ruflo logs)'
545
+ : 'Ruflo binary unavailable in this execution context (checkRufloAvailable() returned available=false)',
546
+ claudeFailureReason: 'Phase 2 generateADRs did not surface markdown ADRs into engineering/architecture-decisions.md before phase4-adrs ran',
547
+ phase1Status: 'present',
548
+ dossierItemCount: dossier?.items.length ?? 0,
549
+ sparcStatus: (sparc?.architecture?.services?.length ?? 0) > 0 ? 'present' : 'missing-services',
550
+ query: phase1Artifacts?.scenario?.query ?? phase1Artifacts?.manifest?.query ?? '',
551
+ });
552
+ const adrDir = path.join(context.phase4Dir, 'adrs');
553
+ fs.mkdirSync(adrDir, { recursive: true });
554
+ const writtenPaths = [];
555
+ const failureFilePath = path.join(adrDir, `${failureAdr.id}.md`);
556
+ fs.writeFileSync(failureFilePath, failureAdr.rawMarkdown ?? '', {
557
+ encoding: 'utf-8',
558
+ mode: 0o644,
559
+ });
560
+ writtenPaths.push(failureFilePath);
561
+ // ADR-PIPELINE-100 §D2: derive the index from the markdown file we just
562
+ // wrote so the loud-failure ADR appears in the index too.
563
+ writeAdrIndex(adrDir);
564
+ writtenPaths.push(path.join(adrDir, 'adr-index.json'));
565
+ process.stderr.write(`[phase4-adrs] Loud-failure ADR written to ${path.relative(context.phase4Dir, failureFilePath)}\n`);
566
+ adrOutput = tagStageOutput({
567
+ stage: 'adr-generation',
568
+ // Status remains 'failed' so downstream gates can distinguish a
569
+ // real-success path from a loud-failure path. The stage still emits
570
+ // artifacts (the failure ADR + index).
571
+ status: 'failed',
572
+ data: [failureAdr],
573
+ artifacts: writtenPaths,
574
+ timing: 0,
575
+ summary: ` ADRs (loud-failure): 1 failure ADR written (ADR-PIPELINE-100 §D5; ${writtenPaths.length - 1} markdown + 1 JSON index)`,
576
+ }, 'template');
575
577
  }
576
- catch (fallbackErr) {
577
- process.stderr.write(`[phase4-adrs] Template fallback also failed: ${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}\n`);
578
+ catch (failureErr) {
579
+ process.stderr.write(`[phase4-adrs] Failed to emit loud-failure ADR: ${failureErr instanceof Error ? failureErr.message : String(failureErr)}\n`);
578
580
  }
579
581
  }
580
582
  const finalAdrSpan = endSpan(adrSpan, adrOutput.status === 'completed' ? 'ok' : 'error', {