@skastr0/pulsar-core 0.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 (474) hide show
  1. package/dist/backpressure.d.ts +31 -0
  2. package/dist/backpressure.d.ts.map +1 -0
  3. package/dist/backpressure.js +206 -0
  4. package/dist/backpressure.js.map +1 -0
  5. package/dist/baseline.d.ts +91 -0
  6. package/dist/baseline.d.ts.map +1 -0
  7. package/dist/baseline.js +139 -0
  8. package/dist/baseline.js.map +1 -0
  9. package/dist/bypass.d.ts +14 -0
  10. package/dist/bypass.d.ts.map +1 -0
  11. package/dist/bypass.js +47 -0
  12. package/dist/bypass.js.map +1 -0
  13. package/dist/cache-disk.d.ts +4 -0
  14. package/dist/cache-disk.d.ts.map +1 -0
  15. package/dist/cache-disk.js +212 -0
  16. package/dist/cache-disk.js.map +1 -0
  17. package/dist/cache.d.ts +62 -0
  18. package/dist/cache.d.ts.map +1 -0
  19. package/dist/cache.js +87 -0
  20. package/dist/cache.js.map +1 -0
  21. package/dist/calibration-context.d.ts +7 -0
  22. package/dist/calibration-context.d.ts.map +1 -0
  23. package/dist/calibration-context.js +40 -0
  24. package/dist/calibration-context.js.map +1 -0
  25. package/dist/calibration-fingerprint.d.ts +28 -0
  26. package/dist/calibration-fingerprint.d.ts.map +1 -0
  27. package/dist/calibration-fingerprint.js +67 -0
  28. package/dist/calibration-fingerprint.js.map +1 -0
  29. package/dist/calibration-model.d.ts +103 -0
  30. package/dist/calibration-model.d.ts.map +1 -0
  31. package/dist/calibration-model.js +44 -0
  32. package/dist/calibration-model.js.map +1 -0
  33. package/dist/calibration-slot-values.d.ts +232 -0
  34. package/dist/calibration-slot-values.d.ts.map +1 -0
  35. package/dist/calibration-slot-values.js +2 -0
  36. package/dist/calibration-slot-values.js.map +1 -0
  37. package/dist/calibration.d.ts +4 -0
  38. package/dist/calibration.d.ts.map +1 -0
  39. package/dist/calibration.js +4 -0
  40. package/dist/calibration.js.map +1 -0
  41. package/dist/category.d.ts +6 -0
  42. package/dist/category.d.ts.map +1 -0
  43. package/dist/category.js +12 -0
  44. package/dist/category.js.map +1 -0
  45. package/dist/concurrency.d.ts +2 -0
  46. package/dist/concurrency.d.ts.map +1 -0
  47. package/dist/concurrency.js +15 -0
  48. package/dist/concurrency.js.map +1 -0
  49. package/dist/context.d.ts +40 -0
  50. package/dist/context.d.ts.map +1 -0
  51. package/dist/context.js +28 -0
  52. package/dist/context.js.map +1 -0
  53. package/dist/conventions.d.ts +110 -0
  54. package/dist/conventions.d.ts.map +1 -0
  55. package/dist/conventions.js +40 -0
  56. package/dist/conventions.js.map +1 -0
  57. package/dist/dedupe-by-key.d.ts +2 -0
  58. package/dist/dedupe-by-key.d.ts.map +1 -0
  59. package/dist/dedupe-by-key.js +13 -0
  60. package/dist/dedupe-by-key.js.map +1 -0
  61. package/dist/diagnostic.d.ts +26 -0
  62. package/dist/diagnostic.d.ts.map +1 -0
  63. package/dist/diagnostic.js +34 -0
  64. package/dist/diagnostic.js.map +1 -0
  65. package/dist/distribution.d.ts +18 -0
  66. package/dist/distribution.d.ts.map +1 -0
  67. package/dist/distribution.js +44 -0
  68. package/dist/distribution.js.map +1 -0
  69. package/dist/edit-distance.d.ts +2 -0
  70. package/dist/edit-distance.d.ts.map +1 -0
  71. package/dist/edit-distance.js +21 -0
  72. package/dist/edit-distance.js.map +1 -0
  73. package/dist/elicitation/proposal-ai-assisted-mode.d.ts +9 -0
  74. package/dist/elicitation/proposal-ai-assisted-mode.d.ts.map +1 -0
  75. package/dist/elicitation/proposal-ai-assisted-mode.js +37 -0
  76. package/dist/elicitation/proposal-ai-assisted-mode.js.map +1 -0
  77. package/dist/elicitation/proposal-passive.d.ts +12 -0
  78. package/dist/elicitation/proposal-passive.d.ts.map +1 -0
  79. package/dist/elicitation/proposal-passive.js +62 -0
  80. package/dist/elicitation/proposal-passive.js.map +1 -0
  81. package/dist/elicitation/proposal-resolution.d.ts +11 -0
  82. package/dist/elicitation/proposal-resolution.d.ts.map +1 -0
  83. package/dist/elicitation/proposal-resolution.js +43 -0
  84. package/dist/elicitation/proposal-resolution.js.map +1 -0
  85. package/dist/elicitation/proposal-revealed-preference.d.ts +21 -0
  86. package/dist/elicitation/proposal-revealed-preference.d.ts.map +1 -0
  87. package/dist/elicitation/proposal-revealed-preference.js +72 -0
  88. package/dist/elicitation/proposal-revealed-preference.js.map +1 -0
  89. package/dist/elicitation/proposal-schema.d.ts +62 -0
  90. package/dist/elicitation/proposal-schema.d.ts.map +1 -0
  91. package/dist/elicitation/proposal-schema.js +39 -0
  92. package/dist/elicitation/proposal-schema.js.map +1 -0
  93. package/dist/elicitation/proposal-utils.d.ts +6 -0
  94. package/dist/elicitation/proposal-utils.d.ts.map +1 -0
  95. package/dist/elicitation/proposal-utils.js +7 -0
  96. package/dist/elicitation/proposal-utils.js.map +1 -0
  97. package/dist/elicitation/proposals.d.ts +6 -0
  98. package/dist/elicitation/proposals.d.ts.map +1 -0
  99. package/dist/elicitation/proposals.js +6 -0
  100. package/dist/elicitation/proposals.js.map +1 -0
  101. package/dist/elicitation/quiz.d.ts +72 -0
  102. package/dist/elicitation/quiz.d.ts.map +1 -0
  103. package/dist/elicitation/quiz.js +189 -0
  104. package/dist/elicitation/quiz.js.map +1 -0
  105. package/dist/elicitation/revealed-preference.d.ts +24 -0
  106. package/dist/elicitation/revealed-preference.d.ts.map +1 -0
  107. package/dist/elicitation/revealed-preference.js +101 -0
  108. package/dist/elicitation/revealed-preference.js.map +1 -0
  109. package/dist/elicitation.d.ts +5 -0
  110. package/dist/elicitation.d.ts.map +1 -0
  111. package/dist/elicitation.js +5 -0
  112. package/dist/elicitation.js.map +1 -0
  113. package/dist/enforcement.d.ts +13 -0
  114. package/dist/enforcement.d.ts.map +1 -0
  115. package/dist/enforcement.js +31 -0
  116. package/dist/enforcement.js.map +1 -0
  117. package/dist/errors.d.ts +132 -0
  118. package/dist/errors.d.ts.map +1 -0
  119. package/dist/errors.js +76 -0
  120. package/dist/errors.js.map +1 -0
  121. package/dist/factor-ledger.d.ts +38 -0
  122. package/dist/factor-ledger.d.ts.map +1 -0
  123. package/dist/factor-ledger.js +184 -0
  124. package/dist/factor-ledger.js.map +1 -0
  125. package/dist/factor-policy-ledger.d.ts +12 -0
  126. package/dist/factor-policy-ledger.d.ts.map +1 -0
  127. package/dist/factor-policy-ledger.js +48 -0
  128. package/dist/factor-policy-ledger.js.map +1 -0
  129. package/dist/factors.d.ts +4 -0
  130. package/dist/factors.d.ts.map +1 -0
  131. package/dist/factors.js +3 -0
  132. package/dist/factors.js.map +1 -0
  133. package/dist/file-taxonomy.d.ts +10 -0
  134. package/dist/file-taxonomy.d.ts.map +1 -0
  135. package/dist/file-taxonomy.js +171 -0
  136. package/dist/file-taxonomy.js.map +1 -0
  137. package/dist/globs.d.ts +3 -0
  138. package/dist/globs.d.ts.map +1 -0
  139. package/dist/globs.js +24 -0
  140. package/dist/globs.js.map +1 -0
  141. package/dist/glossary.d.ts +137 -0
  142. package/dist/glossary.d.ts.map +1 -0
  143. package/dist/glossary.js +51 -0
  144. package/dist/glossary.js.map +1 -0
  145. package/dist/goodhart.d.ts +31 -0
  146. package/dist/goodhart.d.ts.map +1 -0
  147. package/dist/goodhart.js +176 -0
  148. package/dist/goodhart.js.map +1 -0
  149. package/dist/index.d.ts +12 -0
  150. package/dist/index.d.ts.map +1 -0
  151. package/dist/index.js +12 -0
  152. package/dist/index.js.map +1 -0
  153. package/dist/input-outputs.d.ts +3 -0
  154. package/dist/input-outputs.d.ts.map +1 -0
  155. package/dist/input-outputs.js +10 -0
  156. package/dist/input-outputs.js.map +1 -0
  157. package/dist/observer-categories.d.ts +7 -0
  158. package/dist/observer-categories.d.ts.map +1 -0
  159. package/dist/observer-categories.js +158 -0
  160. package/dist/observer-categories.js.map +1 -0
  161. package/dist/observer-execution.d.ts +23 -0
  162. package/dist/observer-execution.d.ts.map +1 -0
  163. package/dist/observer-execution.js +130 -0
  164. package/dist/observer-execution.js.map +1 -0
  165. package/dist/observer-json.d.ts +319 -0
  166. package/dist/observer-json.d.ts.map +1 -0
  167. package/dist/observer-json.js +153 -0
  168. package/dist/observer-json.js.map +1 -0
  169. package/dist/observer-local-pressure.d.ts +5 -0
  170. package/dist/observer-local-pressure.d.ts.map +1 -0
  171. package/dist/observer-local-pressure.js +9 -0
  172. package/dist/observer-local-pressure.js.map +1 -0
  173. package/dist/observer-minimum.d.ts +26 -0
  174. package/dist/observer-minimum.d.ts.map +1 -0
  175. package/dist/observer-minimum.js +94 -0
  176. package/dist/observer-minimum.js.map +1 -0
  177. package/dist/observer-model.d.ts +129 -0
  178. package/dist/observer-model.d.ts.map +1 -0
  179. package/dist/observer-model.js +2 -0
  180. package/dist/observer-model.js.map +1 -0
  181. package/dist/observer-readiness.d.ts +6 -0
  182. package/dist/observer-readiness.d.ts.map +1 -0
  183. package/dist/observer-readiness.js +131 -0
  184. package/dist/observer-readiness.js.map +1 -0
  185. package/dist/observer-score-utils.d.ts +8 -0
  186. package/dist/observer-score-utils.d.ts.map +1 -0
  187. package/dist/observer-score-utils.js +17 -0
  188. package/dist/observer-score-utils.js.map +1 -0
  189. package/dist/observer-serializer.d.ts +3 -0
  190. package/dist/observer-serializer.d.ts.map +1 -0
  191. package/dist/observer-serializer.js +66 -0
  192. package/dist/observer-serializer.js.map +1 -0
  193. package/dist/observer-time.d.ts +3 -0
  194. package/dist/observer-time.d.ts.map +1 -0
  195. package/dist/observer-time.js +7 -0
  196. package/dist/observer-time.js.map +1 -0
  197. package/dist/observer-weighted-mean.d.ts +4 -0
  198. package/dist/observer-weighted-mean.d.ts.map +1 -0
  199. package/dist/observer-weighted-mean.js +17 -0
  200. package/dist/observer-weighted-mean.js.map +1 -0
  201. package/dist/observer.d.ts +26 -0
  202. package/dist/observer.d.ts.map +1 -0
  203. package/dist/observer.js +63 -0
  204. package/dist/observer.js.map +1 -0
  205. package/dist/presets.d.ts +11 -0
  206. package/dist/presets.d.ts.map +1 -0
  207. package/dist/presets.js +52 -0
  208. package/dist/presets.js.map +1 -0
  209. package/dist/reference-data-loader.d.ts +6 -0
  210. package/dist/reference-data-loader.d.ts.map +1 -0
  211. package/dist/reference-data-loader.js +53 -0
  212. package/dist/reference-data-loader.js.map +1 -0
  213. package/dist/reference-data.d.ts +6 -0
  214. package/dist/reference-data.d.ts.map +1 -0
  215. package/dist/reference-data.js +6 -0
  216. package/dist/reference-data.js.map +1 -0
  217. package/dist/registry.d.ts +16 -0
  218. package/dist/registry.d.ts.map +1 -0
  219. package/dist/registry.js +174 -0
  220. package/dist/registry.js.map +1 -0
  221. package/dist/review-plan.d.ts +30 -0
  222. package/dist/review-plan.d.ts.map +1 -0
  223. package/dist/review-plan.js +235 -0
  224. package/dist/review-plan.js.map +1 -0
  225. package/dist/routing-context-payload.d.ts +20 -0
  226. package/dist/routing-context-payload.d.ts.map +1 -0
  227. package/dist/routing-context-payload.js +58 -0
  228. package/dist/routing-context-payload.js.map +1 -0
  229. package/dist/routing-matching.d.ts +10 -0
  230. package/dist/routing-matching.d.ts.map +1 -0
  231. package/dist/routing-matching.js +74 -0
  232. package/dist/routing-matching.js.map +1 -0
  233. package/dist/routing-pattern-catalog.d.ts +7 -0
  234. package/dist/routing-pattern-catalog.d.ts.map +1 -0
  235. package/dist/routing-pattern-catalog.js +120 -0
  236. package/dist/routing-pattern-catalog.js.map +1 -0
  237. package/dist/routing-schema.d.ts +162 -0
  238. package/dist/routing-schema.d.ts.map +1 -0
  239. package/dist/routing-schema.js +75 -0
  240. package/dist/routing-schema.js.map +1 -0
  241. package/dist/routing.d.ts +14 -0
  242. package/dist/routing.d.ts.map +1 -0
  243. package/dist/routing.js +35 -0
  244. package/dist/routing.js.map +1 -0
  245. package/dist/runner.d.ts +26 -0
  246. package/dist/runner.d.ts.map +1 -0
  247. package/dist/runner.js +72 -0
  248. package/dist/runner.js.map +1 -0
  249. package/dist/scoring-engine-contract.d.ts +43 -0
  250. package/dist/scoring-engine-contract.d.ts.map +1 -0
  251. package/dist/scoring-engine-contract.js +42 -0
  252. package/dist/scoring-engine-contract.js.map +1 -0
  253. package/dist/scoring-engine-git-content-hash.d.ts +12 -0
  254. package/dist/scoring-engine-git-content-hash.d.ts.map +1 -0
  255. package/dist/scoring-engine-git-content-hash.js +154 -0
  256. package/dist/scoring-engine-git-content-hash.js.map +1 -0
  257. package/dist/scoring-engine-git-diff.d.ts +10 -0
  258. package/dist/scoring-engine-git-diff.d.ts.map +1 -0
  259. package/dist/scoring-engine-git-diff.js +103 -0
  260. package/dist/scoring-engine-git-diff.js.map +1 -0
  261. package/dist/scoring-engine-git-paths.d.ts +2 -0
  262. package/dist/scoring-engine-git-paths.d.ts.map +1 -0
  263. package/dist/scoring-engine-git-paths.js +17 -0
  264. package/dist/scoring-engine-git-paths.js.map +1 -0
  265. package/dist/scoring-engine-git-range.d.ts +9 -0
  266. package/dist/scoring-engine-git-range.d.ts.map +1 -0
  267. package/dist/scoring-engine-git-range.js +19 -0
  268. package/dist/scoring-engine-git-range.js.map +1 -0
  269. package/dist/scoring-engine-git-run.d.ts +7 -0
  270. package/dist/scoring-engine-git-run.d.ts.map +1 -0
  271. package/dist/scoring-engine-git-run.js +32 -0
  272. package/dist/scoring-engine-git-run.js.map +1 -0
  273. package/dist/scoring-engine-git-worktree.d.ts +9 -0
  274. package/dist/scoring-engine-git-worktree.d.ts.map +1 -0
  275. package/dist/scoring-engine-git-worktree.js +83 -0
  276. package/dist/scoring-engine-git-worktree.js.map +1 -0
  277. package/dist/scoring-engine-git.d.ts +5 -0
  278. package/dist/scoring-engine-git.d.ts.map +1 -0
  279. package/dist/scoring-engine-git.js +5 -0
  280. package/dist/scoring-engine-git.js.map +1 -0
  281. package/dist/scoring-engine-layer.d.ts +12 -0
  282. package/dist/scoring-engine-layer.d.ts.map +1 -0
  283. package/dist/scoring-engine-layer.js +48 -0
  284. package/dist/scoring-engine-layer.js.map +1 -0
  285. package/dist/scoring-engine-observe.d.ts +50 -0
  286. package/dist/scoring-engine-observe.d.ts.map +1 -0
  287. package/dist/scoring-engine-observe.js +77 -0
  288. package/dist/scoring-engine-observe.js.map +1 -0
  289. package/dist/scoring-engine-observer-cache.d.ts +36 -0
  290. package/dist/scoring-engine-observer-cache.d.ts.map +1 -0
  291. package/dist/scoring-engine-observer-cache.js +115 -0
  292. package/dist/scoring-engine-observer-cache.js.map +1 -0
  293. package/dist/scoring-engine-runtime.d.ts +25 -0
  294. package/dist/scoring-engine-runtime.d.ts.map +1 -0
  295. package/dist/scoring-engine-runtime.js +49 -0
  296. package/dist/scoring-engine-runtime.js.map +1 -0
  297. package/dist/scoring-engine-score-execution.d.ts +24 -0
  298. package/dist/scoring-engine-score-execution.d.ts.map +1 -0
  299. package/dist/scoring-engine-score-execution.js +71 -0
  300. package/dist/scoring-engine-score-execution.js.map +1 -0
  301. package/dist/scoring-engine-score.d.ts +13 -0
  302. package/dist/scoring-engine-score.d.ts.map +1 -0
  303. package/dist/scoring-engine-score.js +28 -0
  304. package/dist/scoring-engine-score.js.map +1 -0
  305. package/dist/scoring-engine.d.ts +5 -0
  306. package/dist/scoring-engine.d.ts.map +1 -0
  307. package/dist/scoring-engine.js +5 -0
  308. package/dist/scoring-engine.js.map +1 -0
  309. package/dist/scoring.d.ts +9 -0
  310. package/dist/scoring.d.ts.map +1 -0
  311. package/dist/scoring.js +9 -0
  312. package/dist/scoring.js.map +1 -0
  313. package/dist/shared-02-aggregation.d.ts +31 -0
  314. package/dist/shared-02-aggregation.d.ts.map +1 -0
  315. package/dist/shared-02-aggregation.js +63 -0
  316. package/dist/shared-02-aggregation.js.map +1 -0
  317. package/dist/shared-02-bus-factor.d.ts +37 -0
  318. package/dist/shared-02-bus-factor.d.ts.map +1 -0
  319. package/dist/shared-02-bus-factor.js +195 -0
  320. package/dist/shared-02-bus-factor.js.map +1 -0
  321. package/dist/shared-02-history.d.ts +7 -0
  322. package/dist/shared-02-history.d.ts.map +1 -0
  323. package/dist/shared-02-history.js +9 -0
  324. package/dist/shared-02-history.js.map +1 -0
  325. package/dist/shared-03-churn-rate.d.ts +47 -0
  326. package/dist/shared-03-churn-rate.d.ts.map +1 -0
  327. package/dist/shared-03-churn-rate.js +187 -0
  328. package/dist/shared-03-churn-rate.js.map +1 -0
  329. package/dist/shared-03-compute.d.ts +4 -0
  330. package/dist/shared-03-compute.d.ts.map +1 -0
  331. package/dist/shared-03-compute.js +84 -0
  332. package/dist/shared-03-compute.js.map +1 -0
  333. package/dist/shared-03-line-matching.d.ts +2 -0
  334. package/dist/shared-03-line-matching.d.ts.map +1 -0
  335. package/dist/shared-03-line-matching.js +119 -0
  336. package/dist/shared-03-line-matching.js.map +1 -0
  337. package/dist/shared-churn-01.d.ts +24 -0
  338. package/dist/shared-churn-01.d.ts.map +1 -0
  339. package/dist/shared-churn-01.js +107 -0
  340. package/dist/shared-churn-01.js.map +1 -0
  341. package/dist/shared-history-authors.d.ts +5 -0
  342. package/dist/shared-history-authors.d.ts.map +1 -0
  343. package/dist/shared-history-authors.js +77 -0
  344. package/dist/shared-history-authors.js.map +1 -0
  345. package/dist/shared-history-defaults.d.ts +2 -0
  346. package/dist/shared-history-defaults.d.ts.map +1 -0
  347. package/dist/shared-history-defaults.js +73 -0
  348. package/dist/shared-history-defaults.js.map +1 -0
  349. package/dist/shared-history-files.d.ts +3 -0
  350. package/dist/shared-history-files.d.ts.map +1 -0
  351. package/dist/shared-history-files.js +19 -0
  352. package/dist/shared-history-files.js.map +1 -0
  353. package/dist/shared-history-filter.d.ts +10 -0
  354. package/dist/shared-history-filter.d.ts.map +1 -0
  355. package/dist/shared-history-filter.js +10 -0
  356. package/dist/shared-history-filter.js.map +1 -0
  357. package/dist/shared-history-git.d.ts +7 -0
  358. package/dist/shared-history-git.d.ts.map +1 -0
  359. package/dist/shared-history-git.js +45 -0
  360. package/dist/shared-history-git.js.map +1 -0
  361. package/dist/shared-history-lines.d.ts +4 -0
  362. package/dist/shared-history-lines.d.ts.map +1 -0
  363. package/dist/shared-history-lines.js +139 -0
  364. package/dist/shared-history-lines.js.map +1 -0
  365. package/dist/shared-history.d.ts +6 -0
  366. package/dist/shared-history.d.ts.map +1 -0
  367. package/dist/shared-history.js +6 -0
  368. package/dist/shared-history.js.map +1 -0
  369. package/dist/shared-signals.d.ts +4 -0
  370. package/dist/shared-signals.d.ts.map +1 -0
  371. package/dist/shared-signals.js +4 -0
  372. package/dist/shared-signals.js.map +1 -0
  373. package/dist/signal-api.d.ts +16 -0
  374. package/dist/signal-api.d.ts.map +1 -0
  375. package/dist/signal-api.js +13 -0
  376. package/dist/signal-api.js.map +1 -0
  377. package/dist/signal-factor-model.d.ts +53 -0
  378. package/dist/signal-factor-model.d.ts.map +1 -0
  379. package/dist/signal-factor-model.js +2 -0
  380. package/dist/signal-factor-model.js.map +1 -0
  381. package/dist/signal-runtime.d.ts +13 -0
  382. package/dist/signal-runtime.d.ts.map +1 -0
  383. package/dist/signal-runtime.js +2 -0
  384. package/dist/signal-runtime.js.map +1 -0
  385. package/dist/signal-score-utils.d.ts +2 -0
  386. package/dist/signal-score-utils.d.ts.map +1 -0
  387. package/dist/signal-score-utils.js +6 -0
  388. package/dist/signal-score-utils.js.map +1 -0
  389. package/dist/signal.d.ts +113 -0
  390. package/dist/signal.d.ts.map +1 -0
  391. package/dist/signal.js +2 -0
  392. package/dist/signal.js.map +1 -0
  393. package/dist/state-paths.d.ts +7 -0
  394. package/dist/state-paths.d.ts.map +1 -0
  395. package/dist/state-paths.js +32 -0
  396. package/dist/state-paths.js.map +1 -0
  397. package/dist/tier.d.ts +14 -0
  398. package/dist/tier.d.ts.map +1 -0
  399. package/dist/tier.js +12 -0
  400. package/dist/tier.js.map +1 -0
  401. package/dist/time-series-compaction-types.d.ts +6 -0
  402. package/dist/time-series-compaction-types.d.ts.map +1 -0
  403. package/dist/time-series-compaction-types.js +2 -0
  404. package/dist/time-series-compaction-types.js.map +1 -0
  405. package/dist/time-series-compaction.d.ts +3 -0
  406. package/dist/time-series-compaction.d.ts.map +1 -0
  407. package/dist/time-series-compaction.js +138 -0
  408. package/dist/time-series-compaction.js.map +1 -0
  409. package/dist/time-series-dates.d.ts +8 -0
  410. package/dist/time-series-dates.d.ts.map +1 -0
  411. package/dist/time-series-dates.js +43 -0
  412. package/dist/time-series-dates.js.map +1 -0
  413. package/dist/time-series-metadata.d.ts +6 -0
  414. package/dist/time-series-metadata.d.ts.map +1 -0
  415. package/dist/time-series-metadata.js +72 -0
  416. package/dist/time-series-metadata.js.map +1 -0
  417. package/dist/time-series-model.d.ts +419 -0
  418. package/dist/time-series-model.d.ts.map +1 -0
  419. package/dist/time-series-model.js +51 -0
  420. package/dist/time-series-model.js.map +1 -0
  421. package/dist/time-series-readiness.d.ts +4 -0
  422. package/dist/time-series-readiness.d.ts.map +1 -0
  423. package/dist/time-series-readiness.js +82 -0
  424. package/dist/time-series-readiness.js.map +1 -0
  425. package/dist/time-series-storage.d.ts +15 -0
  426. package/dist/time-series-storage.d.ts.map +1 -0
  427. package/dist/time-series-storage.js +124 -0
  428. package/dist/time-series-storage.js.map +1 -0
  429. package/dist/time-series.d.ts +6 -0
  430. package/dist/time-series.d.ts.map +1 -0
  431. package/dist/time-series.js +98 -0
  432. package/dist/time-series.js.map +1 -0
  433. package/dist/vector-ai-mode.d.ts +10 -0
  434. package/dist/vector-ai-mode.d.ts.map +1 -0
  435. package/dist/vector-ai-mode.js +41 -0
  436. package/dist/vector-ai-mode.js.map +1 -0
  437. package/dist/vector-backpressure-config.d.ts +3 -0
  438. package/dist/vector-backpressure-config.d.ts.map +1 -0
  439. package/dist/vector-backpressure-config.js +18 -0
  440. package/dist/vector-backpressure-config.js.map +1 -0
  441. package/dist/vector-observer-config.d.ts +7 -0
  442. package/dist/vector-observer-config.d.ts.map +1 -0
  443. package/dist/vector-observer-config.js +24 -0
  444. package/dist/vector-observer-config.js.map +1 -0
  445. package/dist/vector-provenance.d.ts +3 -0
  446. package/dist/vector-provenance.d.ts.map +1 -0
  447. package/dist/vector-provenance.js +5 -0
  448. package/dist/vector-provenance.js.map +1 -0
  449. package/dist/vector-resolution.d.ts +25 -0
  450. package/dist/vector-resolution.d.ts.map +1 -0
  451. package/dist/vector-resolution.js +82 -0
  452. package/dist/vector-resolution.js.map +1 -0
  453. package/dist/vector-schema.d.ts +435 -0
  454. package/dist/vector-schema.d.ts.map +1 -0
  455. package/dist/vector-schema.js +158 -0
  456. package/dist/vector-schema.js.map +1 -0
  457. package/dist/vector.d.ts +3 -0
  458. package/dist/vector.d.ts.map +1 -0
  459. package/dist/vector.js +3 -0
  460. package/dist/vector.js.map +1 -0
  461. package/package.json +106 -0
  462. package/presets/ai-slop-defense.json +28 -0
  463. package/presets/domain-purist.json +15 -0
  464. package/presets/refactor-friendly.json +18 -0
  465. package/presets/security-paranoid.json +20 -0
  466. package/presets/strict-type-safety.json +15 -0
  467. package/presets/velocity-first.json +32 -0
  468. package/quiz-items/typescript.json +602 -0
  469. package/routing-patterns/api-surface-change.json +17 -0
  470. package/routing-patterns/auth-paths-touched.json +16 -0
  471. package/routing-patterns/crypto-import-added.json +21 -0
  472. package/routing-patterns/domain-term-drift.json +17 -0
  473. package/routing-patterns/migration-added.json +13 -0
  474. package/routing-patterns/unsafe-added.json +17 -0
@@ -0,0 +1,129 @@
1
+ import type { Category } from "./category.js";
2
+ import { ProjectModuleScope } from "./calibration.js";
3
+ import type { Diagnostic } from "./diagnostic.js";
4
+ import type { SignalRunResult } from "./runner.js";
5
+ import type { SignalApplicability, SignalOutputMetadata } from "./signal.js";
6
+ export declare const OBSERVER_OUTPUT_SEMANTICS: "applicability-aware-readiness-v1";
7
+ export type ObserverOutputSemantics = typeof OBSERVER_OUTPUT_SEMANTICS;
8
+ /**
9
+ * The top-level scoring output — a dimension vector grouped by taxonomy
10
+ * category, the minimum dimension, a weighted mean, and hard-gate status.
11
+ *
12
+ * Mirrors ARCHITECTURE.md §Score Output. The public JSON contract keeps
13
+ * the architecture doc's snake_case keys (`weighted_mean`,
14
+ * `hard_gate_status`, `hard_gate_violations`). Additional runtime-only
15
+ * metadata (`inactiveSignals`, `signalResults`) stays attached for
16
+ * in-process consumers such as tests and compound signals.
17
+ */
18
+ export interface CategoryOutput {
19
+ readonly score: number;
20
+ readonly signals: Record<string, number>;
21
+ readonly signalCount: number;
22
+ readonly applicableSignalCount?: number;
23
+ readonly activeSignalIds: ReadonlyArray<string>;
24
+ readonly aggregation?: {
25
+ readonly strategy: "weighted-mean" | "language-group-mean";
26
+ readonly rawScore: number;
27
+ readonly aggregateScore: number;
28
+ readonly lowestSignalScore: number;
29
+ readonly finalScore: number;
30
+ readonly shapedByPressure: boolean;
31
+ readonly pressure: {
32
+ readonly strategy: "pressure-pnorm-local-max";
33
+ readonly p: number;
34
+ readonly meanPressure: number;
35
+ readonly pnormPressure: number;
36
+ readonly maxLocalPressure: number;
37
+ readonly localPressure: number;
38
+ readonly finalPressure: number;
39
+ };
40
+ readonly weightTotal: number;
41
+ readonly weights: Record<string, number>;
42
+ };
43
+ readonly normalization?: {
44
+ readonly strategy: "language-group-mean";
45
+ readonly groups: Record<string, {
46
+ readonly score: number;
47
+ readonly signals: ReadonlyArray<string>;
48
+ readonly signalCount: number;
49
+ }>;
50
+ };
51
+ }
52
+ export interface MinimumDimension {
53
+ readonly signal: string;
54
+ readonly category: Category;
55
+ readonly score: number;
56
+ readonly detail: string;
57
+ }
58
+ export interface HardGateViolation {
59
+ readonly signalId: string;
60
+ readonly category: Category;
61
+ readonly diagnostic: Diagnostic;
62
+ }
63
+ export interface ReadinessPressure {
64
+ readonly signal_id: string;
65
+ readonly category: Category;
66
+ readonly score: number;
67
+ readonly raw_pressure: number;
68
+ readonly effective_pressure: number;
69
+ readonly weight: number;
70
+ readonly confidence: number;
71
+ readonly applicability: SignalApplicability;
72
+ }
73
+ export interface ReadinessOutput {
74
+ readonly score: number;
75
+ readonly pressure: number;
76
+ readonly status: "green" | "yellow" | "red" | "blocked" | "unknown" | "failed";
77
+ readonly aggregation: {
78
+ readonly strategy: "pressure-pnorm-local-max";
79
+ readonly p: number;
80
+ readonly mean_pressure: number;
81
+ readonly pnorm_pressure: number;
82
+ readonly max_local_pressure: number;
83
+ readonly failed_signal_pressure: number;
84
+ readonly hard_gate_pressure: number;
85
+ readonly hard_gate_score_cap: number;
86
+ readonly local_warning_threshold: number;
87
+ readonly local_poison_threshold: number;
88
+ readonly local_warning_gain: number;
89
+ readonly applicable_signal_count: number;
90
+ readonly ignored_signal_count: number;
91
+ readonly failed_signal_count: number;
92
+ };
93
+ readonly top_pressures: ReadonlyArray<ReadinessPressure>;
94
+ }
95
+ export interface ObserverRuntimeProfile {
96
+ readonly totalMs: number;
97
+ readonly stages?: Record<string, {
98
+ readonly durationMs: number;
99
+ }>;
100
+ readonly signals: Record<string, {
101
+ readonly durationMs: number;
102
+ readonly score: number;
103
+ readonly diagnostics: number;
104
+ }>;
105
+ }
106
+ export interface ObserverCalibrationModuleSummary {
107
+ readonly id: string;
108
+ readonly version: string;
109
+ readonly scope: typeof ProjectModuleScope.Type;
110
+ readonly source: "builtin" | "package" | "workspace" | "repo-local";
111
+ readonly source_ref?: string;
112
+ readonly source_fingerprint?: string;
113
+ readonly fingerprint: string;
114
+ }
115
+ export interface ObserverCalibrationSummary {
116
+ readonly fingerprint: string;
117
+ readonly active_modules: ReadonlyArray<ObserverCalibrationModuleSummary>;
118
+ }
119
+ export interface ObserverRuntimeOutput {
120
+ readonly categories: Record<Category, CategoryOutput>;
121
+ readonly minimum: MinimumDimension | undefined;
122
+ readonly readiness?: ReadinessOutput;
123
+ readonly inactiveSignals: ReadonlyArray<string>;
124
+ readonly signalResults: ReadonlyMap<string, SignalRunResult>;
125
+ readonly signalMetadata?: Record<string, SignalOutputMetadata>;
126
+ readonly runtimeProfile?: ObserverRuntimeProfile;
127
+ readonly calibration?: ObserverCalibrationSummary;
128
+ }
129
+ //# sourceMappingURL=observer-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-model.d.ts","sourceRoot":"","sources":["../src/observer-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const OBSERVER_OUTPUT_SEMANTICS = "applicability-aware-readiness-v1";
2
+ //# sourceMappingURL=observer-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-model.js","sourceRoot":"","sources":["../src/observer-model.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,yBAAyB,GAAG,kCAA2C,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { Registry } from "./registry.js";
2
+ import type { SignalRunResult } from "./runner.js";
3
+ import { type PulsarVector } from "./vector.js";
4
+ import type { ReadinessOutput } from "./observer-model.js";
5
+ export declare const computeReadiness: (registry: Registry, signalResults: ReadonlyMap<string, SignalRunResult>, vector: PulsarVector | undefined, hardGateStatus: "pass" | "fail") => ReadinessOutput;
6
+ //# sourceMappingURL=observer-readiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-readiness.d.ts","sourceRoot":"","sources":["../src/observer-readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAqB,KAAK,YAAY,EAA4D,MAAM,aAAa,CAAA;AAC5H,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAA;AAI7E,eAAO,MAAM,gBAAgB,GAC3B,UAAU,QAAQ,EAClB,eAAe,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,EACnD,QAAQ,YAAY,GAAG,SAAS,EAChC,gBAAgB,MAAM,GAAG,MAAM,KAC9B,eAgCF,CAAA"}
@@ -0,0 +1,131 @@
1
+ import { readinessConfigOf, weightOf as vectorWeightOf } from "./vector.js";
2
+ import { localSignalPressure } from "./observer-local-pressure.js";
3
+ import { clamp01, compareAscii, confidenceForSignal, roundScore, signalApplicabilityOf } from "./observer-score-utils.js";
4
+ export const computeReadiness = (registry, signalResults, vector, hardGateStatus) => {
5
+ const config = readinessConfigOf(vector);
6
+ const collected = collectReadinessPressures(registry, signalResults, vector, config);
7
+ const summary = summarizeReadinessPressure(collected, config, hardGateStatus);
8
+ return {
9
+ score: summary.score,
10
+ pressure: summary.pressure,
11
+ status: readinessStatus(summary.pressure, hardGateStatus, config, collected.applicableSignalCount, collected.failedSignalCount),
12
+ aggregation: {
13
+ strategy: "pressure-pnorm-local-max",
14
+ p: config.p_norm,
15
+ mean_pressure: roundScore(summary.meanPressure),
16
+ pnorm_pressure: roundScore(summary.pnormPressure),
17
+ max_local_pressure: roundScore(collected.maxLocalPressure),
18
+ failed_signal_pressure: roundScore(summary.failedSignalPressure),
19
+ hard_gate_pressure: roundScore(summary.hardGatePressure),
20
+ hard_gate_score_cap: config.hard_gate_score_cap,
21
+ local_warning_threshold: config.local_warning_threshold,
22
+ local_poison_threshold: config.local_poison_threshold,
23
+ local_warning_gain: config.local_warning_gain,
24
+ applicable_signal_count: collected.applicableSignalCount,
25
+ ignored_signal_count: collected.ignoredSignalCount,
26
+ failed_signal_count: collected.failedSignalCount,
27
+ },
28
+ top_pressures: topReadinessPressures(collected.pressures, config),
29
+ };
30
+ };
31
+ const collectReadinessPressures = (registry, signalResults, vector, config) => {
32
+ const pressures = [];
33
+ let weightedPressureSum = 0;
34
+ let weightedPnormSum = 0;
35
+ let weightTotal = 0;
36
+ let maxLocalPressure = 0;
37
+ let applicableSignalCount = 0;
38
+ let ignoredSignalCount = 0;
39
+ let failedSignalCount = 0;
40
+ for (const signal of registry.sorted) {
41
+ const result = signalResults.get(signal.id);
42
+ if (result === undefined)
43
+ continue;
44
+ const contribution = readinessPressureContribution(signal, result, vector);
45
+ pressures.push(contribution.pressure);
46
+ if (contribution.ignored) {
47
+ ignoredSignalCount += 1;
48
+ if (contribution.failed) {
49
+ failedSignalCount += 1;
50
+ }
51
+ continue;
52
+ }
53
+ applicableSignalCount += 1;
54
+ weightedPressureSum += contribution.weight * contribution.effectivePressure;
55
+ weightedPnormSum += contribution.weight * Math.pow(contribution.effectivePressure, config.p_norm);
56
+ weightTotal += contribution.weight;
57
+ maxLocalPressure = Math.max(maxLocalPressure, contribution.effectivePressure);
58
+ }
59
+ return {
60
+ pressures,
61
+ weightedPressureSum,
62
+ weightedPnormSum,
63
+ weightTotal,
64
+ maxLocalPressure,
65
+ applicableSignalCount,
66
+ ignoredSignalCount,
67
+ failedSignalCount,
68
+ };
69
+ };
70
+ const readinessPressureContribution = (signal, result, vector) => {
71
+ const applicability = signalApplicabilityOf(result);
72
+ const ignored = applicability !== "applicable";
73
+ const confidence = ignored ? 0 : confidenceForSignal(signal, result);
74
+ const weight = vectorWeightOf(signal, vector);
75
+ const rawPressure = clamp01(1 - result.score);
76
+ const effectivePressure = rawPressure * confidence;
77
+ return {
78
+ pressure: {
79
+ signal_id: signal.id,
80
+ category: signal.category,
81
+ score: result.score,
82
+ raw_pressure: roundScore(rawPressure),
83
+ effective_pressure: roundScore(effectivePressure),
84
+ weight,
85
+ confidence: roundScore(confidence),
86
+ applicability,
87
+ },
88
+ ignored,
89
+ failed: applicability === "failed",
90
+ weight,
91
+ effectivePressure,
92
+ };
93
+ };
94
+ const summarizeReadinessPressure = (collection, config, hardGateStatus) => {
95
+ const { weightTotal } = collection;
96
+ const meanPressure = weightTotal === 0 ? 0 : collection.weightedPressureSum / weightTotal;
97
+ const pnormPressure = weightTotal === 0
98
+ ? 0
99
+ : Math.pow(collection.weightedPnormSum / weightTotal, 1 / config.p_norm);
100
+ const localPressure = localSignalPressure(collection.maxLocalPressure, config);
101
+ const failedSignalPressure = collection.failedSignalCount > 0 ? 1 : 0;
102
+ const hardGatePressure = hardGateStatus === "fail" ? 1 - config.hard_gate_score_cap : 0;
103
+ const pressure = roundScore(clamp01(Math.max(pnormPressure, localPressure, failedSignalPressure, hardGatePressure)));
104
+ return {
105
+ score: roundScore(clamp01(1 - pressure)),
106
+ pressure,
107
+ meanPressure,
108
+ pnormPressure,
109
+ failedSignalPressure,
110
+ hardGatePressure,
111
+ };
112
+ };
113
+ const topReadinessPressures = (pressures, config) => [...pressures]
114
+ .sort((left, right) => right.effective_pressure - left.effective_pressure ||
115
+ right.raw_pressure - left.raw_pressure ||
116
+ compareAscii(left.signal_id, right.signal_id))
117
+ .slice(0, config.top_pressures);
118
+ const readinessStatus = (pressure, hardGateStatus, config, applicableSignalCount, failedSignalCount) => {
119
+ if (hardGateStatus === "fail")
120
+ return "blocked";
121
+ if (failedSignalCount > 0)
122
+ return "failed";
123
+ if (applicableSignalCount === 0)
124
+ return "unknown";
125
+ if (pressure < config.green_max_pressure)
126
+ return "green";
127
+ if (pressure < config.red_min_pressure)
128
+ return "yellow";
129
+ return "red";
130
+ };
131
+ //# sourceMappingURL=observer-readiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-readiness.js","sourceRoot":"","sources":["../src/observer-readiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { SignalRunResult } from "./runner.js";
2
+ import type { ResolvedSignal, SignalApplicability } from "./signal.js";
3
+ export declare const confidenceForSignal: (signal: ResolvedSignal, result: SignalRunResult) => number;
4
+ export declare const signalApplicabilityOf: (result: SignalRunResult) => SignalApplicability;
5
+ export declare const clamp01: (value: number) => number;
6
+ export declare const roundScore: (value: number) => number;
7
+ export declare const compareAscii: (left: string, right: string) => number;
8
+ //# sourceMappingURL=observer-score-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-score-utils.d.ts","sourceRoot":"","sources":["../src/observer-score-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtE,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,cAAc,EACtB,QAAQ,eAAe,KACtB,MAKA,CAAA;AAEH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,eAAe,KAAG,mBAC2B,CAAA;AAS3F,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,KAAG,MAAyC,CAAA;AAEjF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAAmC,CAAA;AAE9E,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACjB,CAAA"}
@@ -0,0 +1,17 @@
1
+ export const confidenceForSignal = (signal, result) => clamp01(result.metadata?.effectiveConfidence ??
2
+ result.metadata?.baseConfidence ??
3
+ defaultConfidenceForTier(signal.tier));
4
+ export const signalApplicabilityOf = (result) => result.metadata?.applicability ?? (result.output === undefined ? "failed" : "applicable");
5
+ const defaultConfidenceForTier = (tier) => {
6
+ if (tier === 1)
7
+ return 1;
8
+ if (tier === 1.5)
9
+ return 0.95;
10
+ if (tier === 2)
11
+ return 0.85;
12
+ return 0.5;
13
+ };
14
+ export const clamp01 = (value) => Math.min(1, Math.max(0, value));
15
+ export const roundScore = (value) => Number(value.toFixed(12));
16
+ export const compareAscii = (left, right) => left < right ? -1 : left > right ? 1 : 0;
17
+ //# sourceMappingURL=observer-score-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-score-utils.js","sourceRoot":"","sources":["../src/observer-score-utils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAsB,EACtB,MAAuB,EACf,EAAE,CACV,OAAO,CACL,MAAM,CAAC,QAAQ,EAAE,mBAAmB;IAClC,MAAM,CAAC,QAAQ,EAAE,cAAc;IAC/B,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,CACxC,CAAA;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAuB,EAAuB,EAAE,CACpF,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;AAE3F,MAAM,wBAAwB,GAAG,CAAC,IAA4B,EAAU,EAAE;IACxE,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACxB,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3B,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAClE,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ObserverOutput, ObserverOutputPublic } from "./observer-json.js";
2
+ export declare const toObserverJson: (output: ObserverOutput) => ObserverOutputPublic;
3
+ //# sourceMappingURL=observer-serializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-serializer.d.ts","sourceRoot":"","sources":["../src/observer-serializer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,oBAAoB,EAErB,MAAM,oBAAoB,CAAA;AAE3B,eAAO,MAAM,cAAc,GAAI,QAAQ,cAAc,KAAG,oBA2DtD,CAAA"}
@@ -0,0 +1,66 @@
1
+ import { OBSERVER_OUTPUT_SEMANTICS } from "./observer-model.js";
2
+ export const toObserverJson = (output) => ({
3
+ observer_semantics: OBSERVER_OUTPUT_SEMANTICS,
4
+ categories: {
5
+ "architectural-drift": toObserverCategorySnapshot(output.categories["architectural-drift"]),
6
+ "dependency-entropy": toObserverCategorySnapshot(output.categories["dependency-entropy"]),
7
+ "abstraction-bloat": toObserverCategorySnapshot(output.categories["abstraction-bloat"]),
8
+ "legibility-decay": toObserverCategorySnapshot(output.categories["legibility-decay"]),
9
+ "generated-slop": toObserverCategorySnapshot(output.categories["generated-slop"]),
10
+ "review-pain": toObserverCategorySnapshot(output.categories["review-pain"]),
11
+ },
12
+ minimum: output.minimum,
13
+ weighted_mean: output.weighted_mean,
14
+ ...(output.readiness !== undefined ? { readiness: output.readiness } : {}),
15
+ hard_gate_status: output.hard_gate_status,
16
+ hard_gate_violations: output.hard_gate_violations,
17
+ ...(output.calibration !== undefined ? { calibration: output.calibration } : {}),
18
+ ...(output.signalMetadata !== undefined && Object.keys(output.signalMetadata).length > 0
19
+ ? { signal_metadata: output.signalMetadata }
20
+ : {}),
21
+ ...(output.runtimeProfile !== undefined
22
+ ? {
23
+ runtime_profile: {
24
+ total_ms: output.runtimeProfile.totalMs,
25
+ ...(output.runtimeProfile.stages !== undefined
26
+ ? {
27
+ stages: Object.fromEntries(Object.entries(output.runtimeProfile.stages).map(([stageId, profile]) => [
28
+ stageId,
29
+ { duration_ms: profile.durationMs },
30
+ ])),
31
+ }
32
+ : {}),
33
+ signals: Object.fromEntries(Object.entries(output.runtimeProfile.signals).map(([signalId, profile]) => [
34
+ signalId,
35
+ {
36
+ duration_ms: profile.durationMs,
37
+ score: profile.score,
38
+ diagnostics: profile.diagnostics,
39
+ },
40
+ ])),
41
+ },
42
+ }
43
+ : {}),
44
+ ...(signalFactorsJson(output).length > 0
45
+ ? { signal_factors: Object.fromEntries(signalFactorsJson(output)) }
46
+ : {}),
47
+ });
48
+ const signalFactorsJson = (output) => [...output.signalResults.entries()]
49
+ .flatMap(([signalId, result]) => result.factorLedger === undefined
50
+ ? []
51
+ : [[signalId, result.factorLedger.entries]])
52
+ .sort(([left], [right]) => left.localeCompare(right));
53
+ const toObserverCategorySnapshot = (category) => ({
54
+ score: category.score,
55
+ signals: category.signals,
56
+ signalCount: category.signalCount,
57
+ applicableSignalCount: category.applicableSignalCount ?? category.signalCount,
58
+ activeSignalIds: [...category.activeSignalIds],
59
+ ...(category.aggregation !== undefined
60
+ ? { aggregation: category.aggregation }
61
+ : {}),
62
+ ...(category.normalization !== undefined
63
+ ? { normalization: category.normalization }
64
+ : {}),
65
+ });
66
+ //# sourceMappingURL=observer-serializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-serializer.js","sourceRoot":"","sources":["../src/observer-serializer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const nowMs: () => number;
2
+ export declare const roundRuntimeMs: (value: number) => number;
3
+ //# sourceMappingURL=observer-time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-time.d.ts","sourceRoot":"","sources":["../src/observer-time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,QAAO,MAGxB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAA+C,CAAA"}
@@ -0,0 +1,7 @@
1
+ export const nowMs = () => {
2
+ if (typeof performance !== "undefined")
3
+ return performance.now();
4
+ return Date.now();
5
+ };
6
+ export const roundRuntimeMs = (value) => Math.max(0, Number(value.toFixed(2)));
7
+ //# sourceMappingURL=observer-time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-time.js","sourceRoot":"","sources":["../src/observer-time.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,GAAW,EAAE;IAChC,IAAI,OAAO,WAAW,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAA;IAChE,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { type Category } from "./category.js";
2
+ import type { CategoryOutput } from "./observer-model.js";
3
+ export declare const computeWeightedMean: (categories: Record<Category, CategoryOutput>) => number;
4
+ //# sourceMappingURL=observer-weighted-mean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-weighted-mean.d.ts","sourceRoot":"","sources":["../src/observer-weighted-mean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,KAC3C,MAYF,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { CATEGORIES } from "./category.js";
2
+ export const computeWeightedMean = (categories) => {
3
+ let weightedSum = 0;
4
+ let totalCount = 0;
5
+ for (const category of CATEGORIES) {
6
+ const entry = categories[category];
7
+ const count = entry.applicableSignalCount ?? entry.signalCount;
8
+ if (count === 0)
9
+ continue;
10
+ weightedSum += entry.score * count;
11
+ totalCount += count;
12
+ }
13
+ if (totalCount === 0)
14
+ return 1;
15
+ return weightedSum / totalCount;
16
+ };
17
+ //# sourceMappingURL=observer-weighted-mean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer-weighted-mean.js","sourceRoot":"","sources":["../src/observer-weighted-mean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,eAAe,CAAA;AAGzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,UAA4C,EACpC,EAAE;IACV,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,WAAW,CAAA;QAC9D,IAAI,KAAK,KAAK,CAAC;YAAE,SAAQ;QACzB,WAAW,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;QAClC,UAAU,IAAI,KAAK,CAAA;IACrB,CAAC;IACD,IAAI,UAAU,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAC9B,OAAO,WAAW,GAAG,UAAU,CAAA;AACjC,CAAC,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Effect } from "effect";
2
+ import type { Registry } from "./registry.js";
3
+ import type { SignalRequirements } from "./signal-runtime.js";
4
+ import type { PulsarVector } from "./vector.js";
5
+ import type { ObserverOutput } from "./observer-json.js";
6
+ export * from "./observer-model.js";
7
+ export * from "./observer-json.js";
8
+ export { toObserverJson } from "./observer-serializer.js";
9
+ interface ObserverOptions {
10
+ readonly profile?: boolean;
11
+ }
12
+ /**
13
+ * Run every active signal in the registry against the ambient context,
14
+ * then aggregate the results into the canonical ObserverOutput shape.
15
+ *
16
+ * Error channel is `never` because per-signal compute failures are
17
+ * captured as score-0 warn diagnostics inside the signal's category
18
+ * (AC-8). This keeps one flaky signal from collapsing the whole
19
+ * observation.
20
+ *
21
+ * Requirements `R` is left open — it is whatever the active signals
22
+ * demand (e.g. TsProjectTag for the TS pack). The caller provides the
23
+ * layer union exactly as they do for runSignal.
24
+ */
25
+ export declare const observe: (registry: Registry, vector: PulsarVector | undefined, options?: ObserverOptions) => Effect.Effect<ObserverOutput, never, SignalRequirements>;
26
+ //# sourceMappingURL=observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAA;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,UAAU,eAAe;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,OAAO,GAClB,UAAU,QAAQ,EAClB,QAAQ,YAAY,GAAG,SAAS,EAChC,UAAU,eAAe,KACxB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,EAAE,kBAAkB,CAuCtD,CAAA"}
@@ -0,0 +1,63 @@
1
+ import { Effect, Option } from "effect";
2
+ import { CalibrationContextTag } from "./calibration.js";
3
+ import { aggregateCategories } from "./observer-categories.js";
4
+ import { executeObserverSignals, summarizeCalibration } from "./observer-execution.js";
5
+ import { collectHardGateViolations, findMinimum } from "./observer-minimum.js";
6
+ import { OBSERVER_OUTPUT_SEMANTICS } from "./observer-model.js";
7
+ import { computeReadiness } from "./observer-readiness.js";
8
+ import { nowMs, roundRuntimeMs } from "./observer-time.js";
9
+ import { computeWeightedMean } from "./observer-weighted-mean.js";
10
+ export * from "./observer-model.js";
11
+ export * from "./observer-json.js";
12
+ export { toObserverJson } from "./observer-serializer.js";
13
+ /**
14
+ * Run every active signal in the registry against the ambient context,
15
+ * then aggregate the results into the canonical ObserverOutput shape.
16
+ *
17
+ * Error channel is `never` because per-signal compute failures are
18
+ * captured as score-0 warn diagnostics inside the signal's category
19
+ * (AC-8). This keeps one flaky signal from collapsing the whole
20
+ * observation.
21
+ *
22
+ * Requirements `R` is left open — it is whatever the active signals
23
+ * demand (e.g. TsProjectTag for the TS pack). The caller provides the
24
+ * layer union exactly as they do for runSignal.
25
+ */
26
+ export const observe = (registry, vector, options) => Effect.gen(function* () {
27
+ const observerStartedAt = nowMs();
28
+ const executed = yield* executeObserverSignals(registry, vector, options?.profile === true);
29
+ const categories = aggregateCategories(registry, executed.signalResults, vector);
30
+ const minimum = findMinimum(registry, executed.signalResults);
31
+ const weightedMean = computeWeightedMean(categories);
32
+ const hardGateViolations = collectHardGateViolations(registry, executed.signalResults);
33
+ const hardGateStatus = hardGateViolations.length > 0 ? "fail" : "pass";
34
+ const readiness = computeReadiness(registry, executed.signalResults, vector, hardGateStatus);
35
+ const calibration = yield* Effect.serviceOption(CalibrationContextTag);
36
+ const calibrationSummary = Option.isSome(calibration)
37
+ ? summarizeCalibration(calibration.value)
38
+ : undefined;
39
+ return {
40
+ observer_semantics: OBSERVER_OUTPUT_SEMANTICS,
41
+ categories,
42
+ minimum,
43
+ weighted_mean: weightedMean,
44
+ readiness,
45
+ hard_gate_status: hardGateStatus,
46
+ hard_gate_violations: hardGateViolations,
47
+ inactiveSignals: executed.inactiveSignals,
48
+ signalResults: executed.signalResults,
49
+ ...(calibrationSummary !== undefined ? { calibration: calibrationSummary } : {}),
50
+ ...(Object.keys(executed.signalMetadata).length > 0
51
+ ? { signalMetadata: executed.signalMetadata }
52
+ : {}),
53
+ ...(options?.profile === true
54
+ ? {
55
+ runtimeProfile: {
56
+ totalMs: roundRuntimeMs(nowMs() - observerStartedAt),
57
+ signals: executed.signalProfiles,
58
+ },
59
+ }
60
+ : {}),
61
+ };
62
+ });
63
+ //# sourceMappingURL=observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observer.js","sourceRoot":"","sources":["../src/observer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Effect } from "effect";
2
+ import { type PulsarVector } from "./vector.js";
3
+ export interface PulsarVectorPresetSummary {
4
+ readonly id: string;
5
+ readonly description: string;
6
+ }
7
+ export declare const loadPulsarVectorPresets: () => Effect.Effect<ReadonlyArray<PulsarVector>, Error, never>;
8
+ export declare const loadPulsarVectorPresetById: (presetId: string) => Effect.Effect<PulsarVector, Error, never>;
9
+ export declare const summarizePulsarVectorPresets: (presets: ReadonlyArray<PulsarVector>) => ReadonlyArray<PulsarVectorPresetSummary>;
10
+ export declare const oneLineDescription: (vector: PulsarVector) => string;
11
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAiBnE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,eAAO,MAAM,uBAAuB,QAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAe9F,CAAA;AAKJ,eAAO,MAAM,0BAA0B,GACrC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAQvC,CAAA;AAEJ,eAAO,MAAM,4BAA4B,GACvC,SAAS,aAAa,CAAC,YAAY,CAAC,KACnC,aAAa,CAAC,yBAAyB,CAMiB,CAAA;AAE3D,eAAO,MAAM,kBAAkB,GAAI,QAAQ,YAAY,KAAG,MAMzD,CAAA"}