@balpal4495/quorum 3.0.4 → 3.1.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 (241) hide show
  1. package/dist/advisor/ask.d.ts +13 -0
  2. package/dist/advisor/ask.d.ts.map +1 -0
  3. package/dist/advisor/ask.js +67 -0
  4. package/dist/advisor/ask.js.map +1 -0
  5. package/dist/advisor/index.d.ts +3 -0
  6. package/dist/advisor/index.d.ts.map +1 -0
  7. package/dist/advisor/index.js +2 -0
  8. package/dist/advisor/index.js.map +1 -0
  9. package/dist/advisor/prompt.d.ts +5 -0
  10. package/dist/advisor/prompt.d.ts.map +1 -0
  11. package/{modules/advisor/prompt.ts → dist/advisor/prompt.js} +22 -26
  12. package/dist/advisor/prompt.js.map +1 -0
  13. package/dist/advisor/types.d.ts +23 -0
  14. package/dist/advisor/types.d.ts.map +1 -0
  15. package/dist/advisor/types.js +2 -0
  16. package/dist/advisor/types.js.map +1 -0
  17. package/dist/compass/behavior.d.ts +4 -0
  18. package/dist/compass/behavior.d.ts.map +1 -0
  19. package/dist/compass/behavior.js +138 -0
  20. package/dist/compass/behavior.js.map +1 -0
  21. package/dist/compass/create.d.ts +3 -0
  22. package/dist/compass/create.d.ts.map +1 -0
  23. package/dist/compass/create.js +289 -0
  24. package/dist/compass/create.js.map +1 -0
  25. package/dist/compass/evidence/collect.d.ts +11 -0
  26. package/dist/compass/evidence/collect.d.ts.map +1 -0
  27. package/dist/compass/evidence/collect.js +86 -0
  28. package/dist/compass/evidence/collect.js.map +1 -0
  29. package/dist/compass/index.d.ts +8 -0
  30. package/dist/compass/index.d.ts.map +1 -0
  31. package/dist/compass/index.js +8 -0
  32. package/dist/compass/index.js.map +1 -0
  33. package/dist/compass/prompts/index.d.ts +28 -0
  34. package/dist/compass/prompts/index.d.ts.map +1 -0
  35. package/{modules/compass/prompts/index.ts → dist/compass/prompts/index.js} +13 -38
  36. package/dist/compass/prompts/index.js.map +1 -0
  37. package/dist/compass/prompts/system.d.ts +2 -0
  38. package/dist/compass/prompts/system.d.ts.map +1 -0
  39. package/{modules/compass/prompts/system.ts → dist/compass/prompts/system.js} +2 -1
  40. package/dist/compass/prompts/system.js.map +1 -0
  41. package/dist/compass/propose.d.ts +15 -0
  42. package/dist/compass/propose.d.ts.map +1 -0
  43. package/dist/compass/propose.js +128 -0
  44. package/dist/compass/propose.js.map +1 -0
  45. package/dist/compass/schemas.d.ts +1271 -0
  46. package/dist/compass/schemas.d.ts.map +1 -0
  47. package/dist/compass/schemas.js +113 -0
  48. package/dist/compass/schemas.js.map +1 -0
  49. package/dist/compass/score.d.ts +25 -0
  50. package/dist/compass/score.d.ts.map +1 -0
  51. package/dist/compass/score.js +89 -0
  52. package/dist/compass/score.js.map +1 -0
  53. package/dist/compass/sources/index.d.ts +9 -0
  54. package/dist/compass/sources/index.d.ts.map +1 -0
  55. package/dist/compass/sources/index.js +408 -0
  56. package/dist/compass/sources/index.js.map +1 -0
  57. package/dist/compass/types.d.ts +334 -0
  58. package/dist/compass/types.d.ts.map +1 -0
  59. package/dist/compass/types.js +2 -0
  60. package/dist/compass/types.js.map +1 -0
  61. package/dist/council/advisors.d.ts +15 -0
  62. package/dist/council/advisors.d.ts.map +1 -0
  63. package/dist/council/advisors.js +46 -0
  64. package/dist/council/advisors.js.map +1 -0
  65. package/dist/council/chairman.d.ts +13 -0
  66. package/dist/council/chairman.d.ts.map +1 -0
  67. package/dist/council/chairman.js +145 -0
  68. package/dist/council/chairman.js.map +1 -0
  69. package/dist/council/deliberate.d.ts +22 -0
  70. package/dist/council/deliberate.d.ts.map +1 -0
  71. package/dist/council/deliberate.js +99 -0
  72. package/dist/council/deliberate.js.map +1 -0
  73. package/dist/council/frame.d.ts +8 -0
  74. package/dist/council/frame.d.ts.map +1 -0
  75. package/dist/council/frame.js +40 -0
  76. package/dist/council/frame.js.map +1 -0
  77. package/dist/council/index.d.ts +6 -0
  78. package/dist/council/index.d.ts.map +1 -0
  79. package/dist/council/index.js +4 -0
  80. package/dist/council/index.js.map +1 -0
  81. package/dist/council/personas.d.ts +18 -0
  82. package/dist/council/personas.d.ts.map +1 -0
  83. package/dist/council/personas.js +44 -0
  84. package/dist/council/personas.js.map +1 -0
  85. package/dist/council/reviewers.d.ts +13 -0
  86. package/dist/council/reviewers.d.ts.map +1 -0
  87. package/dist/council/reviewers.js +59 -0
  88. package/dist/council/reviewers.js.map +1 -0
  89. package/dist/council/risk.d.ts +16 -0
  90. package/dist/council/risk.d.ts.map +1 -0
  91. package/dist/council/risk.js +74 -0
  92. package/dist/council/risk.js.map +1 -0
  93. package/dist/council/types.d.ts +95 -0
  94. package/dist/council/types.d.ts.map +1 -0
  95. package/dist/council/types.js +2 -0
  96. package/dist/council/types.js.map +1 -0
  97. package/dist/jury/evaluate.d.ts +13 -0
  98. package/dist/jury/evaluate.d.ts.map +1 -0
  99. package/{modules/jury/evaluate.ts → dist/jury/evaluate.js} +60 -84
  100. package/dist/jury/evaluate.js.map +1 -0
  101. package/dist/jury/index.d.ts +6 -0
  102. package/dist/jury/index.d.ts.map +1 -0
  103. package/dist/jury/index.js +4 -0
  104. package/dist/jury/index.js.map +1 -0
  105. package/dist/jury/preflight.d.ts +26 -0
  106. package/dist/jury/preflight.d.ts.map +1 -0
  107. package/dist/jury/preflight.js +71 -0
  108. package/dist/jury/preflight.js.map +1 -0
  109. package/dist/jury/schema.d.ts +57 -0
  110. package/dist/jury/schema.d.ts.map +1 -0
  111. package/dist/jury/schema.js +21 -0
  112. package/dist/jury/schema.js.map +1 -0
  113. package/dist/jury/types.d.ts +47 -0
  114. package/dist/jury/types.d.ts.map +1 -0
  115. package/dist/jury/types.js +2 -0
  116. package/dist/jury/types.js.map +1 -0
  117. package/dist/oracle/adapters/lance-db.d.ts +15 -0
  118. package/dist/oracle/adapters/lance-db.d.ts.map +1 -0
  119. package/dist/oracle/adapters/lance-db.js +68 -0
  120. package/dist/oracle/adapters/lance-db.js.map +1 -0
  121. package/dist/oracle/adapters/xenova-embedder.d.ts +21 -0
  122. package/dist/oracle/adapters/xenova-embedder.d.ts.map +1 -0
  123. package/dist/oracle/adapters/xenova-embedder.js +36 -0
  124. package/dist/oracle/adapters/xenova-embedder.js.map +1 -0
  125. package/dist/oracle/bm25.d.ts +20 -0
  126. package/dist/oracle/bm25.d.ts.map +1 -0
  127. package/dist/oracle/bm25.js +82 -0
  128. package/dist/oracle/bm25.js.map +1 -0
  129. package/dist/oracle/index.d.ts +21 -0
  130. package/dist/oracle/index.d.ts.map +1 -0
  131. package/dist/oracle/index.js +25 -0
  132. package/dist/oracle/index.js.map +1 -0
  133. package/dist/oracle/log.d.ts +6 -0
  134. package/dist/oracle/log.d.ts.map +1 -0
  135. package/dist/oracle/log.js +12 -0
  136. package/dist/oracle/log.js.map +1 -0
  137. package/dist/oracle/propose.d.ts +25 -0
  138. package/dist/oracle/propose.d.ts.map +1 -0
  139. package/dist/oracle/propose.js +133 -0
  140. package/dist/oracle/propose.js.map +1 -0
  141. package/dist/oracle/query.d.ts +17 -0
  142. package/dist/oracle/query.d.ts.map +1 -0
  143. package/dist/oracle/query.js +106 -0
  144. package/dist/oracle/query.js.map +1 -0
  145. package/dist/oracle/summary.d.ts +11 -0
  146. package/dist/oracle/summary.d.ts.map +1 -0
  147. package/dist/oracle/summary.js +102 -0
  148. package/dist/oracle/summary.js.map +1 -0
  149. package/dist/oracle/types.d.ts +31 -0
  150. package/dist/oracle/types.d.ts.map +1 -0
  151. package/dist/oracle/types.js +2 -0
  152. package/dist/oracle/types.js.map +1 -0
  153. package/dist/sentinel/assert.d.ts +28 -0
  154. package/dist/sentinel/assert.d.ts.map +1 -0
  155. package/dist/sentinel/assert.js +63 -0
  156. package/dist/sentinel/assert.js.map +1 -0
  157. package/dist/sentinel/coverage.d.ts +14 -0
  158. package/dist/sentinel/coverage.d.ts.map +1 -0
  159. package/dist/sentinel/coverage.js +96 -0
  160. package/dist/sentinel/coverage.js.map +1 -0
  161. package/dist/sentinel/drift.d.ts +12 -0
  162. package/dist/sentinel/drift.d.ts.map +1 -0
  163. package/dist/sentinel/drift.js +149 -0
  164. package/dist/sentinel/drift.js.map +1 -0
  165. package/dist/sentinel/index.d.ts +7 -0
  166. package/dist/sentinel/index.d.ts.map +1 -0
  167. package/dist/sentinel/index.js +5 -0
  168. package/dist/sentinel/index.js.map +1 -0
  169. package/dist/sentinel/review.d.ts +15 -0
  170. package/dist/sentinel/review.d.ts.map +1 -0
  171. package/dist/sentinel/review.js +177 -0
  172. package/dist/sentinel/review.js.map +1 -0
  173. package/dist/setup.d.ts +103 -0
  174. package/dist/setup.d.ts.map +1 -0
  175. package/dist/setup.js +87 -0
  176. package/dist/setup.js.map +1 -0
  177. package/dist/shared/types.d.ts +173 -0
  178. package/dist/shared/types.d.ts.map +1 -0
  179. package/dist/shared/types.js +16 -0
  180. package/dist/shared/types.js.map +1 -0
  181. package/package.json +13 -8
  182. package/.github/copilot-instructions.md +0 -117
  183. package/CLAUDE.md +0 -146
  184. package/GEMINI.md +0 -73
  185. package/SETUP.md +0 -264
  186. package/evals/__tests__/eval.test.ts +0 -31
  187. package/evals/cases/auth_hs256_rejected.json +0 -46
  188. package/evals/cases/auth_rs256_valid.json +0 -30
  189. package/evals/cases/cache_missing_lock.json +0 -31
  190. package/evals/cases/db_naive_not_null.json +0 -32
  191. package/evals/cases/logging_pii_leak.json +0 -32
  192. package/evals/cases/migration_with_rollback.json +0 -43
  193. package/evals/cases/no_evidence_novel_design.json +0 -16
  194. package/evals/cases/payment_no_idempotency.json +0 -33
  195. package/evals/cases/redis_session_rejected.json +0 -32
  196. package/evals/cases/safe_refactor.json +0 -17
  197. package/evals/runner.ts +0 -226
  198. package/modules/AGENTS.md +0 -78
  199. package/modules/CLAUDE.md +0 -93
  200. package/modules/README.md +0 -504
  201. package/modules/advisor/ask.ts +0 -87
  202. package/modules/advisor/index.ts +0 -2
  203. package/modules/advisor/types.ts +0 -26
  204. package/modules/compass/behavior.ts +0 -161
  205. package/modules/compass/create.ts +0 -365
  206. package/modules/compass/evidence/collect.ts +0 -109
  207. package/modules/compass/index.ts +0 -7
  208. package/modules/compass/propose.ts +0 -152
  209. package/modules/compass/schemas.ts +0 -121
  210. package/modules/compass/score.ts +0 -77
  211. package/modules/compass/sources/index.ts +0 -413
  212. package/modules/compass/types.ts +0 -431
  213. package/modules/council/advisors.ts +0 -71
  214. package/modules/council/chairman.ts +0 -183
  215. package/modules/council/deliberate.ts +0 -141
  216. package/modules/council/frame.ts +0 -54
  217. package/modules/council/index.ts +0 -9
  218. package/modules/council/personas.ts +0 -57
  219. package/modules/council/reviewers.ts +0 -82
  220. package/modules/council/risk.ts +0 -89
  221. package/modules/council/types.ts +0 -107
  222. package/modules/jury/index.ts +0 -5
  223. package/modules/jury/preflight.ts +0 -101
  224. package/modules/jury/schema.ts +0 -24
  225. package/modules/jury/types.ts +0 -50
  226. package/modules/oracle/adapters/lance-db.ts +0 -81
  227. package/modules/oracle/adapters/xenova-embedder.ts +0 -43
  228. package/modules/oracle/bm25.ts +0 -92
  229. package/modules/oracle/index.ts +0 -36
  230. package/modules/oracle/log.ts +0 -15
  231. package/modules/oracle/propose.ts +0 -164
  232. package/modules/oracle/query.ts +0 -146
  233. package/modules/oracle/summary.ts +0 -116
  234. package/modules/oracle/types.ts +0 -32
  235. package/modules/sentinel/assert.ts +0 -95
  236. package/modules/sentinel/coverage.ts +0 -106
  237. package/modules/sentinel/drift.ts +0 -163
  238. package/modules/sentinel/index.ts +0 -6
  239. package/modules/sentinel/review.ts +0 -208
  240. package/modules/setup.ts +0 -202
  241. package/modules/shared/types.ts +0 -193
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Stage a Compass-generated artifact as a Chronicle proposal.
3
+ *
4
+ * Writes to .chronicle/proposals/ ONLY via oracle.propose().
5
+ * Never calls oracle.commit(). Human must approve.
6
+ */
7
+ export async function stageProposal(input, oracle) {
8
+ const payload = input.payload;
9
+ const decision = buildDecision(input);
10
+ const key_insight = decision.slice(0, 200);
11
+ const entry = {
12
+ key_insight,
13
+ decision,
14
+ schema_version: 2,
15
+ topic: buildTopic(input),
16
+ scope: buildScope(input),
17
+ affected_areas: buildAffectedAreas(input),
18
+ status: "open",
19
+ confidence: "confidence" in payload ? payload.confidence : 0.7,
20
+ source_module: "compass",
21
+ evidence_cited: [],
22
+ alternatives_considered: "assumptions" in payload ? [] : [],
23
+ rejected_reason: [],
24
+ validation_plan: buildValidationPlan(input),
25
+ review_after: reviewAfterDate(),
26
+ };
27
+ const result = await oracle.propose(entry);
28
+ return {
29
+ proposal_id: result.proposalId,
30
+ message: `Staged Chronicle proposal ${result.proposalId.slice(0, 8)} — run 'quorum commit --list' to review.`,
31
+ };
32
+ }
33
+ /**
34
+ * Stage an outcome update for a prior product bet or pathway.
35
+ * Creates a new proposal that supersedes the original entry.
36
+ */
37
+ export async function stageOutcome(input, oracle) {
38
+ const resultLabel = {
39
+ "validated": "has been validated",
40
+ "partially-validated": "has been partially validated",
41
+ "invalidated": "has been invalidated",
42
+ "unclear": "outcome is unclear — insufficient signal",
43
+ "superseded": "has been superseded by a newer approach",
44
+ };
45
+ const label = resultLabel[input.result] ?? input.result;
46
+ const decision = `Product bet/pathway ${input.entry_id.slice(0, 8)} ${label}.${input.note ? " " + input.note : ""}`;
47
+ const entry = {
48
+ key_insight: decision.slice(0, 200),
49
+ decision,
50
+ schema_version: 2,
51
+ topic: `product/outcome/${input.entry_id.slice(0, 8)}`,
52
+ scope: ["product", "compass", "outcome"],
53
+ affected_areas: [],
54
+ status: "validated",
55
+ confidence: input.result === "validated" ? 0.9
56
+ : input.result === "partially-validated" ? 0.7
57
+ : input.result === "invalidated" ? 0.6
58
+ : 0.5,
59
+ source_module: "compass",
60
+ evidence_cited: [input.entry_id],
61
+ alternatives_considered: [],
62
+ rejected_reason: [],
63
+ validation_plan: [],
64
+ post_merge_result: (input.result === "validated" ? "successful"
65
+ : input.result === "invalidated" ? "rolled-back"
66
+ : input.result === "partially-validated" ? "partial"
67
+ : undefined),
68
+ };
69
+ const result = await oracle.propose(entry);
70
+ return {
71
+ proposal_id: result.proposalId,
72
+ message: `Staged outcome proposal ${result.proposalId.slice(0, 8)} — run 'quorum commit --list' to review.`,
73
+ };
74
+ }
75
+ // ── Helpers ───────────────────────────────────────────────────────────────────
76
+ function buildDecision(input) {
77
+ const p = input.payload;
78
+ if (input.artifact_kind === "product_pathway" && "smallest_useful_version" in p) {
79
+ return `Compass identified '${p.title}' as a product pathway: ${p.smallest_useful_version}`;
80
+ }
81
+ if (input.artifact_kind === "product_bet" && "thesis" in p) {
82
+ return `Product bet: ${p.thesis}`;
83
+ }
84
+ if ("title" in p) {
85
+ return `Compass ${input.artifact_kind.replace("_", " ")}: ${p.title}`;
86
+ }
87
+ return `Compass generated ${input.artifact_kind} artifact.`;
88
+ }
89
+ function buildTopic(input) {
90
+ const p = input.payload;
91
+ if ("title" in p)
92
+ return `product/${input.artifact_kind.replace("product_", "")}/${slugify(p.title)}`;
93
+ return `product/${input.artifact_kind}`;
94
+ }
95
+ function buildScope(input) {
96
+ const base = ["product", "compass", input.artifact_kind.replace("product_", "")];
97
+ const p = input.payload;
98
+ if ("goal" in p && p.goal)
99
+ base.push(slugify(p.goal).slice(0, 20));
100
+ return base;
101
+ }
102
+ function buildAffectedAreas(input) {
103
+ const p = input.payload;
104
+ if ("phases" in p) {
105
+ return p.phases
106
+ .flatMap((ph) => ph.dependencies)
107
+ .filter(Boolean)
108
+ .slice(0, 5);
109
+ }
110
+ return [];
111
+ }
112
+ function buildValidationPlan(input) {
113
+ const p = input.payload;
114
+ if ("validation_signals" in p)
115
+ return p.validation_signals.slice(0, 3);
116
+ if ("suggested_next_step" in p)
117
+ return [p.suggested_next_step];
118
+ return [];
119
+ }
120
+ function reviewAfterDate() {
121
+ const d = new Date();
122
+ d.setDate(d.getDate() + 45);
123
+ return d.toISOString().slice(0, 10);
124
+ }
125
+ function slugify(s) {
126
+ return s.toLowerCase().replace(/[^a-z0-9]+/g, "-").slice(0, 40);
127
+ }
128
+ //# sourceMappingURL=propose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propose.js","sourceRoot":"","sources":["../../modules/compass/propose.ts"],"names":[],"mappings":"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"}