@alex.botez/elaborate 1.0.0

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 (162) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +114 -0
  3. package/dist/durable/index.d.ts +10 -0
  4. package/dist/durable/index.d.ts.map +1 -0
  5. package/dist/durable/index.js +9 -0
  6. package/dist/durable/index.js.map +1 -0
  7. package/dist/durable/workflow.d.ts +165 -0
  8. package/dist/durable/workflow.d.ts.map +1 -0
  9. package/dist/durable/workflow.js +224 -0
  10. package/dist/durable/workflow.js.map +1 -0
  11. package/dist/interview/classification.d.ts +16 -0
  12. package/dist/interview/classification.d.ts.map +1 -0
  13. package/dist/interview/classification.js +25 -0
  14. package/dist/interview/classification.js.map +1 -0
  15. package/dist/interview/composition.d.ts +12 -0
  16. package/dist/interview/composition.d.ts.map +1 -0
  17. package/dist/interview/composition.js +19 -0
  18. package/dist/interview/composition.js.map +1 -0
  19. package/dist/interview/describe.d.ts +41 -0
  20. package/dist/interview/describe.d.ts.map +1 -0
  21. package/dist/interview/describe.js +80 -0
  22. package/dist/interview/describe.js.map +1 -0
  23. package/dist/interview/deviation.d.ts +91 -0
  24. package/dist/interview/deviation.d.ts.map +1 -0
  25. package/dist/interview/deviation.js +137 -0
  26. package/dist/interview/deviation.js.map +1 -0
  27. package/dist/interview/extraction.d.ts +32 -0
  28. package/dist/interview/extraction.d.ts.map +1 -0
  29. package/dist/interview/extraction.js +102 -0
  30. package/dist/interview/extraction.js.map +1 -0
  31. package/dist/interview/index.d.ts +25 -0
  32. package/dist/interview/index.d.ts.map +1 -0
  33. package/dist/interview/index.js +22 -0
  34. package/dist/interview/index.js.map +1 -0
  35. package/dist/interview/macros.d.ts +91 -0
  36. package/dist/interview/macros.d.ts.map +1 -0
  37. package/dist/interview/macros.js +138 -0
  38. package/dist/interview/macros.js.map +1 -0
  39. package/dist/interview/preambles.d.ts +18 -0
  40. package/dist/interview/preambles.d.ts.map +1 -0
  41. package/dist/interview/preambles.js +93 -0
  42. package/dist/interview/preambles.js.map +1 -0
  43. package/dist/interview/progress.d.ts +31 -0
  44. package/dist/interview/progress.d.ts.map +1 -0
  45. package/dist/interview/progress.js +51 -0
  46. package/dist/interview/progress.js.map +1 -0
  47. package/dist/interview/prompt.d.ts +20 -0
  48. package/dist/interview/prompt.d.ts.map +1 -0
  49. package/dist/interview/prompt.js +58 -0
  50. package/dist/interview/prompt.js.map +1 -0
  51. package/dist/phases/aggregate/assumptions.d.ts +14 -0
  52. package/dist/phases/aggregate/assumptions.d.ts.map +1 -0
  53. package/dist/phases/aggregate/assumptions.js +33 -0
  54. package/dist/phases/aggregate/assumptions.js.map +1 -0
  55. package/dist/phases/aggregate/findings.d.ts +10 -0
  56. package/dist/phases/aggregate/findings.d.ts.map +1 -0
  57. package/dist/phases/aggregate/findings.js +20 -0
  58. package/dist/phases/aggregate/findings.js.map +1 -0
  59. package/dist/phases/aggregate/goals.d.ts +28 -0
  60. package/dist/phases/aggregate/goals.d.ts.map +1 -0
  61. package/dist/phases/aggregate/goals.js +74 -0
  62. package/dist/phases/aggregate/goals.js.map +1 -0
  63. package/dist/phases/aggregate/index.d.ts +128 -0
  64. package/dist/phases/aggregate/index.d.ts.map +1 -0
  65. package/dist/phases/aggregate/index.js +165 -0
  66. package/dist/phases/aggregate/index.js.map +1 -0
  67. package/dist/phases/aggregate/pam.d.ts +19 -0
  68. package/dist/phases/aggregate/pam.d.ts.map +1 -0
  69. package/dist/phases/aggregate/pam.js +37 -0
  70. package/dist/phases/aggregate/pam.js.map +1 -0
  71. package/dist/phases/aggregate/scope.d.ts +24 -0
  72. package/dist/phases/aggregate/scope.d.ts.map +1 -0
  73. package/dist/phases/aggregate/scope.js +67 -0
  74. package/dist/phases/aggregate/scope.js.map +1 -0
  75. package/dist/phases/aggregate/shared.d.ts +16 -0
  76. package/dist/phases/aggregate/shared.d.ts.map +1 -0
  77. package/dist/phases/aggregate/shared.js +26 -0
  78. package/dist/phases/aggregate/shared.js.map +1 -0
  79. package/dist/phases/aggregate/stakeholders.d.ts +27 -0
  80. package/dist/phases/aggregate/stakeholders.d.ts.map +1 -0
  81. package/dist/phases/aggregate/stakeholders.js +90 -0
  82. package/dist/phases/aggregate/stakeholders.js.map +1 -0
  83. package/dist/phases/aggregate/waitingRoom.d.ts +16 -0
  84. package/dist/phases/aggregate/waitingRoom.d.ts.map +1 -0
  85. package/dist/phases/aggregate/waitingRoom.js +32 -0
  86. package/dist/phases/aggregate/waitingRoom.js.map +1 -0
  87. package/dist/phases/assumptions.d.ts +19 -0
  88. package/dist/phases/assumptions.d.ts.map +1 -0
  89. package/dist/phases/assumptions.js +224 -0
  90. package/dist/phases/assumptions.js.map +1 -0
  91. package/dist/phases/configuration.d.ts +8 -0
  92. package/dist/phases/configuration.d.ts.map +1 -0
  93. package/dist/phases/configuration.js +14 -0
  94. package/dist/phases/configuration.js.map +1 -0
  95. package/dist/phases/goals.d.ts +15 -0
  96. package/dist/phases/goals.d.ts.map +1 -0
  97. package/dist/phases/goals.js +297 -0
  98. package/dist/phases/goals.js.map +1 -0
  99. package/dist/phases/index.d.ts +21 -0
  100. package/dist/phases/index.d.ts.map +1 -0
  101. package/dist/phases/index.js +56 -0
  102. package/dist/phases/index.js.map +1 -0
  103. package/dist/phases/opening.d.ts +12 -0
  104. package/dist/phases/opening.d.ts.map +1 -0
  105. package/dist/phases/opening.js +99 -0
  106. package/dist/phases/opening.js.map +1 -0
  107. package/dist/phases/purpose.d.ts +17 -0
  108. package/dist/phases/purpose.d.ts.map +1 -0
  109. package/dist/phases/purpose.js +207 -0
  110. package/dist/phases/purpose.js.map +1 -0
  111. package/dist/phases/schema.d.ts +861 -0
  112. package/dist/phases/schema.d.ts.map +1 -0
  113. package/dist/phases/schema.js +157 -0
  114. package/dist/phases/schema.js.map +1 -0
  115. package/dist/phases/scope.d.ts +18 -0
  116. package/dist/phases/scope.d.ts.map +1 -0
  117. package/dist/phases/scope.js +440 -0
  118. package/dist/phases/scope.js.map +1 -0
  119. package/dist/phases/session/archive.d.ts +19 -0
  120. package/dist/phases/session/archive.d.ts.map +1 -0
  121. package/dist/phases/session/archive.js +49 -0
  122. package/dist/phases/session/archive.js.map +1 -0
  123. package/dist/phases/session/file.d.ts +31 -0
  124. package/dist/phases/session/file.d.ts.map +1 -0
  125. package/dist/phases/session/file.js +113 -0
  126. package/dist/phases/session/file.js.map +1 -0
  127. package/dist/phases/session/index.d.ts +8 -0
  128. package/dist/phases/session/index.d.ts.map +1 -0
  129. package/dist/phases/session/index.js +8 -0
  130. package/dist/phases/session/index.js.map +1 -0
  131. package/dist/phases/session/persistence.d.ts +30 -0
  132. package/dist/phases/session/persistence.d.ts.map +1 -0
  133. package/dist/phases/session/persistence.js +91 -0
  134. package/dist/phases/session/persistence.js.map +1 -0
  135. package/dist/phases/shared.d.ts +64 -0
  136. package/dist/phases/shared.d.ts.map +1 -0
  137. package/dist/phases/shared.js +100 -0
  138. package/dist/phases/shared.js.map +1 -0
  139. package/dist/phases/stakeholders.d.ts +17 -0
  140. package/dist/phases/stakeholders.d.ts.map +1 -0
  141. package/dist/phases/stakeholders.js +370 -0
  142. package/dist/phases/stakeholders.js.map +1 -0
  143. package/dist/phases/validation.d.ts +13 -0
  144. package/dist/phases/validation.d.ts.map +1 -0
  145. package/dist/phases/validation.js +130 -0
  146. package/dist/phases/validation.js.map +1 -0
  147. package/dist/skill/adapter.d.ts +16 -0
  148. package/dist/skill/adapter.d.ts.map +1 -0
  149. package/dist/skill/adapter.js +278 -0
  150. package/dist/skill/adapter.js.map +1 -0
  151. package/dist/skill/index.d.ts +12 -0
  152. package/dist/skill/index.d.ts.map +1 -0
  153. package/dist/skill/index.js +11 -0
  154. package/dist/skill/index.js.map +1 -0
  155. package/dist/skill/log.d.ts +18 -0
  156. package/dist/skill/log.d.ts.map +1 -0
  157. package/dist/skill/log.js +53 -0
  158. package/dist/skill/log.js.map +1 -0
  159. package/package.json +83 -0
  160. package/skills/elaborate/SKILL.md +97 -0
  161. package/skills/elaborate/scripts/elaborate.cjs +589 -0
  162. package/skills/project-brief/SKILL.md +45 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Cross-domain helpers shared by the aggregate modules: ID generation,
3
+ * PAM confidence promotion, and scope/confirmed confidence constants.
4
+ */
5
+ export const SCOPE_DEFAULT_CONFIDENCE = 0.7;
6
+ export const CONFIRMED_CONFIDENCE = 0.9;
7
+ export function nextPamConfidence(current) {
8
+ if (!current || current < 0.5)
9
+ return 0.5;
10
+ if (current < 0.7)
11
+ return 0.7;
12
+ return current;
13
+ }
14
+ /**
15
+ * Generate the next ID in a prefix_NNN sequence.
16
+ * Scans existing entries for the max numeric suffix so removals are safe —
17
+ * new IDs always exceed any previously used one.
18
+ */
19
+ export function nextId(prefix, existing) {
20
+ const max = existing.reduce((m, item) => {
21
+ const num = parseInt(item.id.split("_").pop(), 10);
22
+ return isNaN(num) ? m : Math.max(m, num);
23
+ }, 0);
24
+ return `${prefix}_${String(max + 1).padStart(3, "0")}`;
25
+ }
26
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/phases/aggregate/shared.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,IAAI,CAAC,OAAO,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,GAAG,CAAC;IAC1C,IAAI,OAAO,GAAG,GAAG;QAAE,OAAO,GAAG,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,MAAc,EAAE,QAA+B;IACpE,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACzD,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Stakeholder aggregate mutations — identified → elaborated → confirmed
3
+ * progression with status-driven confidence.
4
+ */
5
+ import type { Artifacts, Stakeholder, StakeholderType, StakeholderStatus, Source } from "../schema.js";
6
+ export declare function addIdentifiedStakeholders(data: Artifacts, raws: Array<{
7
+ name: string;
8
+ type: StakeholderType;
9
+ }>, source?: Source): void;
10
+ export declare function updateStakeholder(data: Artifacts, id: string, fields: {
11
+ role?: string | null;
12
+ type?: StakeholderType | null;
13
+ }): boolean;
14
+ export declare function addConcerns(data: Artifacts, id: string, concerns: string[]): number;
15
+ export declare function setRespondent(data: Artifacts, id: string): void;
16
+ export declare function setStakeholderStatus(data: Artifacts, id: string, status: StakeholderStatus): void;
17
+ export declare function removeStakeholders(data: Artifacts, ids: Set<string>): void;
18
+ export declare function confirmElaboratedStakeholders(data: Artifacts): void;
19
+ export declare function applyStakeholderElaboration(data: Artifacts, id: string, ext: {
20
+ role?: string | null;
21
+ concerns?: string[];
22
+ waitingRoomItems?: Array<{
23
+ content: string;
24
+ }>;
25
+ }): boolean;
26
+ export declare function findStakeholder(data: Artifacts, id: string): Stakeholder | undefined;
27
+ //# sourceMappingURL=stakeholders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakeholders.d.ts","sourceRoot":"","sources":["../../../src/phases/aggregate/stakeholders.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKvG,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,EACpD,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAcN;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,GAC9D,OAAO,CAOT;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAanF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAG/D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAKjG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAE1E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAOnE;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,GAAG,EAAE;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/C,GACA,OAAO,CAUT;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpF"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Stakeholder aggregate mutations — identified → elaborated → confirmed
3
+ * progression with status-driven confidence.
4
+ */
5
+ import { STAKEHOLDER_CONFIDENCE } from "../schema.js";
6
+ import { nextId } from "./shared.js";
7
+ import { addWaitingRoomItems } from "./waitingRoom.js";
8
+ export function addIdentifiedStakeholders(data, raws, source) {
9
+ for (const raw of raws) {
10
+ data.stakeholders.push({
11
+ id: nextId("stakeholder", data.stakeholders),
12
+ name: raw.name,
13
+ type: raw.type,
14
+ role: "",
15
+ concerns: [],
16
+ isRespondent: false,
17
+ status: "identified",
18
+ confidence: STAKEHOLDER_CONFIDENCE.identified,
19
+ ...(source && { source }),
20
+ });
21
+ }
22
+ }
23
+ export function updateStakeholder(data, id, fields) {
24
+ const sh = findStakeholder(data, id);
25
+ if (!sh)
26
+ return false;
27
+ let changed = false;
28
+ if (fields.role) {
29
+ sh.role = fields.role;
30
+ changed = true;
31
+ }
32
+ if (fields.type) {
33
+ sh.type = fields.type;
34
+ changed = true;
35
+ }
36
+ return changed;
37
+ }
38
+ export function addConcerns(data, id, concerns) {
39
+ const sh = findStakeholder(data, id);
40
+ if (!sh)
41
+ return 0;
42
+ const existing = new Set(sh.concerns);
43
+ let added = 0;
44
+ for (const c of concerns) {
45
+ if (!existing.has(c)) {
46
+ sh.concerns.push(c);
47
+ existing.add(c);
48
+ added++;
49
+ }
50
+ }
51
+ return added;
52
+ }
53
+ export function setRespondent(data, id) {
54
+ const sh = findStakeholder(data, id);
55
+ if (sh)
56
+ sh.isRespondent = true;
57
+ }
58
+ export function setStakeholderStatus(data, id, status) {
59
+ const sh = findStakeholder(data, id);
60
+ if (!sh)
61
+ return;
62
+ sh.status = status;
63
+ sh.confidence = STAKEHOLDER_CONFIDENCE[status];
64
+ }
65
+ export function removeStakeholders(data, ids) {
66
+ data.stakeholders = data.stakeholders.filter((s) => !ids.has(s.id));
67
+ }
68
+ export function confirmElaboratedStakeholders(data) {
69
+ for (const s of data.stakeholders) {
70
+ if (s.status === "elaborated") {
71
+ s.status = "confirmed";
72
+ s.confidence = STAKEHOLDER_CONFIDENCE.confirmed;
73
+ }
74
+ }
75
+ }
76
+ export function applyStakeholderElaboration(data, id, ext) {
77
+ let advanced = false;
78
+ if (ext.role) {
79
+ advanced = updateStakeholder(data, id, { role: ext.role }) || advanced;
80
+ }
81
+ if (ext.concerns && ext.concerns.length > 0) {
82
+ advanced = addConcerns(data, id, ext.concerns) > 0 || advanced;
83
+ }
84
+ addWaitingRoomItems(data, ext.waitingRoomItems ?? []);
85
+ return advanced;
86
+ }
87
+ export function findStakeholder(data, id) {
88
+ return data.stakeholders.find((s) => s.id === id);
89
+ }
90
+ //# sourceMappingURL=stakeholders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stakeholders.js","sourceRoot":"","sources":["../../../src/phases/aggregate/stakeholders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Waiting room — parked-item sink filled by deviation-resilient extraction
3
+ * and drained by later phases (purpose pulls PAM hints, scope pulls scope
4
+ * items, assumptions pulls the rest).
5
+ */
6
+ import type { Artifacts } from "../schema.js";
7
+ export declare function addWaitingRoomItems(data: Artifacts, items: Array<{
8
+ content: string;
9
+ }>): void;
10
+ export declare function drainWaitingRoom(data: Artifacts, ids: Set<string>): void;
11
+ export declare function addResidualItems(data: Artifacts, items: Array<{
12
+ content: string;
13
+ reason: string;
14
+ }>): void;
15
+ export declare function drainAllWaitingRoom(data: Artifacts): void;
16
+ //# sourceMappingURL=waitingRoom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitingRoom.d.ts","sourceRoot":"","sources":["../../../src/phases/aggregate/waitingRoom.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAO5F;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAGxE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAQzG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAEzD"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Waiting room — parked-item sink filled by deviation-resilient extraction
3
+ * and drained by later phases (purpose pulls PAM hints, scope pulls scope
4
+ * items, assumptions pulls the rest).
5
+ */
6
+ import { nextId } from "./shared.js";
7
+ export function addWaitingRoomItems(data, items) {
8
+ for (const item of items) {
9
+ data.waitingRoom.push({
10
+ id: nextId("waiting", data.waitingRoom),
11
+ content: item.content,
12
+ });
13
+ }
14
+ }
15
+ export function drainWaitingRoom(data, ids) {
16
+ if (ids.size === 0)
17
+ return;
18
+ data.waitingRoom = data.waitingRoom.filter((w) => !ids.has(w.id));
19
+ }
20
+ export function addResidualItems(data, items) {
21
+ for (const item of items) {
22
+ data.residual.push({
23
+ id: nextId("residual", data.residual),
24
+ content: item.content,
25
+ reason: item.reason,
26
+ });
27
+ }
28
+ }
29
+ export function drainAllWaitingRoom(data) {
30
+ data.waitingRoom = [];
31
+ }
32
+ //# sourceMappingURL=waitingRoom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitingRoom.js","sourceRoot":"","sources":["../../../src/phases/aggregate/waitingRoom.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,mBAAmB,CAAC,IAAe,EAAE,KAAiC;IACpF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAe,EAAE,GAAgB;IAChE,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAe,EAAE,KAAiD;IACjG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAe;IACjD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Assumption capture phase — KAOS domain properties + SAST validation.
3
+ *
4
+ * Captures assumptions through:
5
+ * 1. Seed extraction + waiting room drain (mines existing artifacts)
6
+ * 2. Present seed list for review
7
+ * 3. Gap-fill if no assumptions survived seeding
8
+ * 4. Per-assumption validation (validated/flagged/unsure→probe)
9
+ * 5. Generate findings for flagged assumptions
10
+ * 6. Confirmation with revision loop
11
+ *
12
+ * First consolidative phase — mines artifacts, not generative.
13
+ * Binary status: unvalidated(0.5) / validated(0.9) / flagged(0.7).
14
+ * Adaptive: phase length scales with seed volume.
15
+ */
16
+ import type { WorkflowContext } from "../durable/index.js";
17
+ import type { ArtifactAggregate } from "./aggregate/index.js";
18
+ export declare function runAssumptions(ctx: WorkflowContext, agg: ArtifactAggregate): Promise<void>;
19
+ //# sourceMappingURL=assumptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assumptions.d.ts","sourceRoot":"","sources":["../../src/phases/assumptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA6I9D,wBAAsB,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2GhG"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * Assumption capture phase — KAOS domain properties + SAST validation.
3
+ *
4
+ * Captures assumptions through:
5
+ * 1. Seed extraction + waiting room drain (mines existing artifacts)
6
+ * 2. Present seed list for review
7
+ * 3. Gap-fill if no assumptions survived seeding
8
+ * 4. Per-assumption validation (validated/flagged/unsure→probe)
9
+ * 5. Generate findings for flagged assumptions
10
+ * 6. Confirmation with revision loop
11
+ *
12
+ * First consolidative phase — mines artifacts, not generative.
13
+ * Binary status: unvalidated(0.5) / validated(0.9) / flagged(0.7).
14
+ * Adaptive: phase length scales with seed volume.
15
+ */
16
+ import { z } from "zod";
17
+ import { AssumptionType } from "./schema.js";
18
+ import { buildFullContext, confirmationCloser, confirmPhase } from "./shared.js";
19
+ import { inferCompositionStep } from "../interview/index.js";
20
+ const AssumptionItemSchema = z.object({
21
+ statement: z.string().describe("the assumption text"),
22
+ type: AssumptionType.optional().describe("'hypothesis' (testable) or 'invariant' (taken as given)"),
23
+ relatedGoals: z.array(z.string()).optional().describe("goal IDs this assumption supports"),
24
+ });
25
+ const AssumptionSeedSchema = z.object({
26
+ assumptions: z.array(AssumptionItemSchema).optional().describe("implicit assumptions from the conversation, empty if none"),
27
+ drainedWaitingRoomIds: z.array(z.string()).optional().describe('IDs of waiting room items used as assumption sources (e.g. ["waiting_001"]), empty if none'),
28
+ });
29
+ const AssumptionSeedResponseSchema = z.object({
30
+ responseInterpretation: z.string().describe("what the respondent meant"),
31
+ confirmedIds: z.array(z.string()).optional().describe("assumption IDs the user confirmed (or all if confirmed), empty if none"),
32
+ removedIds: z.array(z.string()).optional().describe("assumption IDs to remove, empty if none"),
33
+ newAssumptions: z.array(AssumptionItemSchema).optional().describe("new assumptions mentioned, empty if none"),
34
+ waitingRoomItems: z.array(z.object({ content: z.string().describe("the item text") })).optional().describe("items that aren't assumptions, empty if none"),
35
+ });
36
+ const GapFillExtractionSchema = z.object({
37
+ responseInterpretation: z.string().describe("what the respondent meant, resolving any suggestion references"),
38
+ assumptions: z.array(AssumptionItemSchema).optional().describe("assumptions extracted from the response, empty if none"),
39
+ waitingRoomItems: z.array(z.object({ content: z.string().describe("the item text") })).optional().describe("items that aren't assumptions, empty if none"),
40
+ });
41
+ const ValidateExtractionSchema = z.object({
42
+ responseInterpretation: z.string().describe("what the respondent meant, resolving any suggestion references"),
43
+ verdict: z.enum(["validated", "flagged", "unsure"]).optional().describe("whether the user confirmed, denied, or is uncertain about this assumption"),
44
+ waitingRoomItems: z.array(z.object({ content: z.string().describe("the item text") })).optional().describe("items that aren't about this assumption, empty if none"),
45
+ });
46
+ const ProbeExtractionSchema = z.object({
47
+ responseInterpretation: z.string().describe("what the respondent meant"),
48
+ impact: z.string().optional().describe("summary of what would change if the assumption weren't true"),
49
+ waitingRoomItems: z.array(z.object({ content: z.string().describe("the item text") })).optional().describe("unrelated items, empty if none"),
50
+ });
51
+ const AssumptionRevisionSchema = z.object({
52
+ responseInterpretation: z.string().describe("what the respondent meant, resolving any suggestion references"),
53
+ newAssumptions: z.array(AssumptionItemSchema).optional().describe("new assumptions to add, empty if none"),
54
+ removedIds: z.array(z.string()).optional().describe("assumption IDs to remove, empty if none"),
55
+ waitingRoomItems: z.array(z.object({ content: z.string().describe("the item text") })).optional().describe("items that aren't assumptions, empty if none"),
56
+ });
57
+ function seedPresent(assumptions) {
58
+ if (assumptions.length === 0) {
59
+ return {
60
+ id: "assumption-seed-present",
61
+ message: `
62
+ I haven't identified any implicit assumptions from our conversation yet.
63
+ Are there things you're taking for granted about this project — beliefs about your users, technical feasibility, or the environment that haven't been verified?`,
64
+ };
65
+ }
66
+ const letters = "abcdefghijklmnopqrstuvwxyz";
67
+ const aList = assumptions.map((a, i) => {
68
+ const tag = a.type === "invariant" ? "invariant" : "hypothesis";
69
+ return `${letters[i]}) ${a.statement} _(${tag})_`;
70
+ }).join("\n");
71
+ return {
72
+ id: "assumption-seed-present",
73
+ message: `Based on our conversation, I've identified these implicit assumptions:
74
+ ${aList}
75
+
76
+ Does this look right? You can confirm, add, remove, or rephrase.`,
77
+ };
78
+ }
79
+ function gapFillComposition(artifacts) {
80
+ return inferCompositionStep({
81
+ id: "",
82
+ fallback: "What needs to be true for your project goals to work? Think about users, technology, market, or resources you're counting on.",
83
+ message: `
84
+ No assumptions were identified from the conversation. Compose a question using the SAST technique.
85
+ Ask: "What needs to be true for your project goals to work?"
86
+ Frame it around the specific goals and scope already captured.
87
+ Include 2-3 suggested assumptions relevant to the project domain.
88
+
89
+ Context:
90
+ ${buildFullContext(artifacts)}
91
+ `,
92
+ });
93
+ }
94
+ function validationComposition(assumption, artifacts) {
95
+ return inferCompositionStep({
96
+ id: "",
97
+ fallback: "How confident are you that this assumption holds?",
98
+ message: `
99
+ Compose a validation question for assumption: "${assumption.statement}" (${assumption.type}).
100
+ Ask whether the respondent believes this is true, and how confident they are.
101
+ Include 2-3 suggested answers: one confirming, one expressing uncertainty, one challenging.
102
+
103
+ Context:
104
+ ${buildFullContext(artifacts)}
105
+ `,
106
+ });
107
+ }
108
+ function probeComposition(assumption, artifacts) {
109
+ return inferCompositionStep({
110
+ id: "",
111
+ fallback: "What would change about your project if this assumption turned out to be wrong?",
112
+ message: `
113
+ The respondent is unsure about assumption: "${assumption.statement}".
114
+ Compose a probe question: "What would change if this weren't true?"
115
+ Frame it around the specific goals and scope this assumption relates to.
116
+ Include 2-3 suggested impacts.
117
+
118
+ Context:
119
+ ${buildFullContext(artifacts)}
120
+ `,
121
+ });
122
+ }
123
+ function confirmation(assumptions, findings) {
124
+ const aList = assumptions.length === 0
125
+ ? "No assumptions were identified for this project.\n"
126
+ : assumptions.map((a) => {
127
+ const tag = a.type === "invariant" ? "invariant" : "hypothesis";
128
+ const goals = a.relatedGoals.length > 0 ? ` (supports: ${a.relatedGoals.join(", ")})` : "";
129
+ const badge = a.status === "validated" ? "validated" : a.status === "flagged" ? "FLAGGED" : "unvalidated";
130
+ return `- ${a.statement} _(${tag}, ${badge})_${goals}`;
131
+ }).join("\n");
132
+ const aFindings = findings.filter((f) => f.phase === "assumptions");
133
+ const findingsSection = aFindings.length > 0
134
+ ? `\n\n**Notes:**\n${aFindings.map((f) => `- ${f.content}`).join("\n")}`
135
+ : "";
136
+ return {
137
+ id: "assumptions-confirmation",
138
+ message: `
139
+ Here's what I've captured for your project assumptions:
140
+ ${aList}${findingsSection}
141
+ ${confirmationCloser()}
142
+ `,
143
+ };
144
+ }
145
+ export async function runAssumptions(ctx, agg) {
146
+ const artifacts = agg.data;
147
+ // Track waiting room IDs before seeding so we only drain pre-existing items
148
+ const preWaitingRoomIds = new Set(artifacts.waitingRoom.map((w) => w.id));
149
+ // Step 1: Seed extraction + waiting room drain
150
+ const seeds = await ctx.seed({
151
+ id: "assumption-seed-extraction",
152
+ artifactsContext: buildFullContext(artifacts, { includeWaitingRoom: true }),
153
+ schema: AssumptionSeedSchema,
154
+ guidance: `Identify implicit assumptions — things that must be true but haven't been verified.
155
+ Classify each as "hypothesis" (testable belief) or "invariant" (unverified external reality). Link to goal IDs. Pull hints from the waitingRoom items in the context; return drainedWaitingRoomIds for the items you consumed.`,
156
+ });
157
+ agg.addAssumptions(seeds.assumptions ?? [], undefined, undefined, ctx.currentSource);
158
+ // Drain waiting room items the LLM reported as consumed (by ID)
159
+ const drainedIds = new Set((seeds.drainedWaitingRoomIds ?? []).filter((id) => preWaitingRoomIds.has(id)));
160
+ agg.drainWaitingRoom(drainedIds);
161
+ // Step 2: Present seed list
162
+ const assumptionRef = artifacts.assumptions.map((a) => `${a.id}: "${a.statement}"`).join(", ");
163
+ const seedClass = await ctx.promptReview(seedPresent(artifacts.assumptions), "assumption-seed-classification", assumptionRef, buildFullContext(artifacts), AssumptionSeedResponseSchema, { defaults: { responseInterpretation: "", confirmedIds: [], removedIds: [], newAssumptions: [], waitingRoomItems: [] } });
164
+ // Remove rejected assumptions
165
+ const removedIds = new Set(seedClass.removedIds ?? []);
166
+ if (removedIds.size > 0) {
167
+ agg.removeAssumptions(removedIds);
168
+ }
169
+ // Add new assumptions from response
170
+ agg.addAssumptions(seedClass.newAssumptions ?? [], undefined, undefined, ctx.currentSource);
171
+ agg.addWaitingRoomItems(seedClass.waitingRoomItems ?? []);
172
+ // Step 3: Gap-fill (only if no assumptions after seed, with deviation resilience)
173
+ if (artifacts.assumptions.length === 0) {
174
+ const gapFill = await ctx.composePromptExtract("assumption-gap-fill", () => gapFillComposition(artifacts), { artifactsContext: buildFullContext(artifacts), schema: GapFillExtractionSchema }, { park: (items) => agg.addWaitingRoomItems(items), maxRetries: 2, defaults: { responseInterpretation: "", assumptions: [], waitingRoomItems: [] } });
175
+ agg.addAssumptions(gapFill.assumptions ?? [], undefined, undefined, ctx.currentSource);
176
+ agg.addWaitingRoomItems(gapFill.waitingRoomItems ?? []);
177
+ }
178
+ // Step 4: Per-assumption validation
179
+ for (const assumption of artifacts.assumptions) {
180
+ if (assumption.status !== "unvalidated")
181
+ continue;
182
+ const validateResult = await ctx.composePromptExtract(`assumption-validation-${assumption.id}`, () => validationComposition(assumption, artifacts), { artifactsContext: buildFullContext(artifacts), schema: ValidateExtractionSchema, focus: `"${assumption.statement}" (${assumption.type})` }, { defaults: { responseInterpretation: "", verdict: "flagged", waitingRoomItems: [] } });
183
+ agg.addWaitingRoomItems(validateResult.waitingRoomItems ?? []);
184
+ if (validateResult.verdict === "validated") {
185
+ agg.setAssumptionStatus(assumption.id, "validated");
186
+ }
187
+ else if (validateResult.verdict === "flagged") {
188
+ agg.setAssumptionStatus(assumption.id, "flagged");
189
+ }
190
+ else {
191
+ // "unsure" — probe then flag
192
+ const probeResult = await ctx.composePromptExtract(`assumption-probe-${assumption.id}`, () => probeComposition(assumption, artifacts), { artifactsContext: buildFullContext(artifacts), schema: ProbeExtractionSchema, focus: `"${assumption.statement}"` }, { defaults: { responseInterpretation: "", impact: "", waitingRoomItems: [] } });
193
+ agg.addWaitingRoomItems(probeResult.waitingRoomItems ?? []);
194
+ // Flag regardless of probe answer
195
+ agg.setAssumptionStatus(assumption.id, "flagged");
196
+ }
197
+ }
198
+ // Step 5: Generate findings for flagged assumptions
199
+ for (const assumption of artifacts.assumptions) {
200
+ if (assumption.status !== "flagged")
201
+ continue;
202
+ const goalRef = assumption.relatedGoals.length > 0
203
+ ? ` — goals ${assumption.relatedGoals.join(", ")} carry unverified dependency risk`
204
+ : "";
205
+ agg.addFinding(`Assumption "${assumption.statement}" could not be validated${goalRef}`, "assumptions");
206
+ }
207
+ // Step 6: Single-pass confirmation
208
+ const { response, approved } = await confirmPhase(ctx, confirmation(artifacts.assumptions, artifacts.findings), artifacts, "assumptions", 0);
209
+ if (!approved) {
210
+ const extraction = await ctx.extract({
211
+ id: "assumptions-revision",
212
+ response,
213
+ artifactsContext: buildFullContext(artifacts),
214
+ schema: AssumptionRevisionSchema,
215
+ });
216
+ agg.addAssumptions(extraction.newAssumptions ?? [], 0.9, "validated", ctx.currentSource);
217
+ const revRemovedIds = new Set(extraction.removedIds ?? []);
218
+ if (revRemovedIds.size > 0) {
219
+ agg.removeAssumptions(revRemovedIds);
220
+ }
221
+ agg.addWaitingRoomItems(extraction.waitingRoomItems ?? []);
222
+ }
223
+ }
224
+ //# sourceMappingURL=assumptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assumptions.js","sourceRoot":"","sources":["../../src/phases/assumptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const ENABLE_ASSUMPTIONS_PHASE = false;
2
+ export declare const ENABLE_GOAL_NEGATIVE_STAGE = false;
3
+ export declare const GOAL_DETAIL_CAP = 3;
4
+ export declare const PRIMARY_SH_CAP = 5;
5
+ export declare const SECONDARY_SH_CAP = 4;
6
+ export declare const EXTERNAL_SH_CAP = 2;
7
+ export declare const SCOPE_CONTRAST_CAP = 3;
8
+ //# sourceMappingURL=configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/phases/configuration.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAChD,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,kBAAkB,IAAI,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Session configuration flags. Defaults correspond to the "standard" session.
2
+ // interview-advanced-optimization will replace these with runtime configuration
3
+ // (chosen at session start, persisted for the session lifetime).
4
+ //
5
+ // Durability caveat: flag values must not change between runs of the same
6
+ // persisted session, or memoized replay will drift.
7
+ export const ENABLE_ASSUMPTIONS_PHASE = false;
8
+ export const ENABLE_GOAL_NEGATIVE_STAGE = false;
9
+ export const GOAL_DETAIL_CAP = 3;
10
+ export const PRIMARY_SH_CAP = 5;
11
+ export const SECONDARY_SH_CAP = 4;
12
+ export const EXTERNAL_SH_CAP = 2;
13
+ export const SCOPE_CONTRAST_CAP = 3;
14
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/phases/configuration.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,iEAAiE;AACjE,EAAE;AACF,0EAA0E;AAC1E,oDAAoD;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAC9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Goal discovery phase — KAOS-inspired WHY/HOW probing.
3
+ *
4
+ * Captures goals through:
5
+ * 1. Seed extraction from prior artifacts + waiting room drain + list review (upfront)
6
+ * 2. Per-goal refinement (clarify → why → negative probing stages)
7
+ * 3. Confirmation with revision loop
8
+ *
9
+ * Goals follow KAOS goal model (MVP subset). Progressive status:
10
+ * fuzzy(0.5) → elaborated(0.7) → confirmed(0.9).
11
+ */
12
+ import type { WorkflowContext } from "../durable/index.js";
13
+ import type { ArtifactAggregate } from "./aggregate/index.js";
14
+ export declare function runGoals(ctx: WorkflowContext, agg: ArtifactAggregate): Promise<void>;
15
+ //# sourceMappingURL=goals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goals.d.ts","sourceRoot":"","sources":["../../src/phases/goals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AA4L9D,wBAAsB,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuJ1F"}