context-probe 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 (600) hide show
  1. package/LICENSE +183 -0
  2. package/README.ja.md +323 -0
  3. package/README.md +323 -0
  4. package/dist/src/analyzers/architecture-contract-declarations-dart.d.ts +2 -0
  5. package/dist/src/analyzers/architecture-contract-declarations-dart.js +129 -0
  6. package/dist/src/analyzers/architecture-contract-declarations-ecma-core.d.ts +2 -0
  7. package/dist/src/analyzers/architecture-contract-declarations-ecma-core.js +89 -0
  8. package/dist/src/analyzers/architecture-contract-declarations-ecma-shared.d.ts +10 -0
  9. package/dist/src/analyzers/architecture-contract-declarations-ecma-shared.js +56 -0
  10. package/dist/src/analyzers/architecture-contract-declarations-ecma.d.ts +1 -0
  11. package/dist/src/analyzers/architecture-contract-declarations-ecma.js +1 -0
  12. package/dist/src/analyzers/architecture-contract-declarations-shared.d.ts +8 -0
  13. package/dist/src/analyzers/architecture-contract-declarations-shared.js +21 -0
  14. package/dist/src/analyzers/architecture-contract-declarations.d.ts +2 -0
  15. package/dist/src/analyzers/architecture-contract-declarations.js +2 -0
  16. package/dist/src/analyzers/architecture-contract-score-baseline-analysis.d.ts +8 -0
  17. package/dist/src/analyzers/architecture-contract-score-baseline-analysis.js +70 -0
  18. package/dist/src/analyzers/architecture-contract-score-baseline-core.d.ts +8 -0
  19. package/dist/src/analyzers/architecture-contract-score-baseline-core.js +4 -0
  20. package/dist/src/analyzers/architecture-contract-score-baseline-entry.d.ts +19 -0
  21. package/dist/src/analyzers/architecture-contract-score-baseline-entry.js +89 -0
  22. package/dist/src/analyzers/architecture-contract-score-baseline-scope.d.ts +8 -0
  23. package/dist/src/analyzers/architecture-contract-score-baseline-scope.js +18 -0
  24. package/dist/src/analyzers/architecture-contract-score-baseline.d.ts +1 -0
  25. package/dist/src/analyzers/architecture-contract-score-baseline.js +1 -0
  26. package/dist/src/analyzers/architecture-contract-score-current.d.ts +3 -0
  27. package/dist/src/analyzers/architecture-contract-score-current.js +39 -0
  28. package/dist/src/analyzers/architecture-contract-score-shared.d.ts +18 -0
  29. package/dist/src/analyzers/architecture-contract-score-shared.js +9 -0
  30. package/dist/src/analyzers/architecture-contract-scoring.d.ts +15 -0
  31. package/dist/src/analyzers/architecture-contract-scoring.js +70 -0
  32. package/dist/src/analyzers/architecture-contract-stats-core.d.ts +9 -0
  33. package/dist/src/analyzers/architecture-contract-stats-core.js +20 -0
  34. package/dist/src/analyzers/architecture-contract-stats-file.d.ts +23 -0
  35. package/dist/src/analyzers/architecture-contract-stats-file.js +77 -0
  36. package/dist/src/analyzers/architecture-contract-stats.d.ts +2 -0
  37. package/dist/src/analyzers/architecture-contract-stats.js +1 -0
  38. package/dist/src/analyzers/architecture-contract-types.d.ts +24 -0
  39. package/dist/src/analyzers/architecture-contract-types.js +1 -0
  40. package/dist/src/analyzers/architecture-contracts.d.ts +2 -0
  41. package/dist/src/analyzers/architecture-contracts.js +1 -0
  42. package/dist/src/analyzers/architecture-cti-ingest.d.ts +19 -0
  43. package/dist/src/analyzers/architecture-cti-ingest.js +64 -0
  44. package/dist/src/analyzers/architecture-delivery-normalization-core.d.ts +6 -0
  45. package/dist/src/analyzers/architecture-delivery-normalization-core.js +83 -0
  46. package/dist/src/analyzers/architecture-delivery-normalization-shared.d.ts +16 -0
  47. package/dist/src/analyzers/architecture-delivery-normalization-shared.js +1 -0
  48. package/dist/src/analyzers/architecture-delivery-normalization-spec.d.ts +13 -0
  49. package/dist/src/analyzers/architecture-delivery-normalization-spec.js +52 -0
  50. package/dist/src/analyzers/architecture-delivery-normalization.d.ts +6 -0
  51. package/dist/src/analyzers/architecture-delivery-normalization.js +4 -0
  52. package/dist/src/analyzers/architecture-evolution-efficiency.d.ts +8 -0
  53. package/dist/src/analyzers/architecture-evolution-efficiency.js +76 -0
  54. package/dist/src/analyzers/architecture-evolution-locality.d.ts +7 -0
  55. package/dist/src/analyzers/architecture-evolution-locality.js +129 -0
  56. package/dist/src/analyzers/architecture-evolution-shared.d.ts +33 -0
  57. package/dist/src/analyzers/architecture-evolution-shared.js +29 -0
  58. package/dist/src/analyzers/architecture-evolution.d.ts +3 -0
  59. package/dist/src/analyzers/architecture-evolution.js +2 -0
  60. package/dist/src/analyzers/architecture-observation-ingest-delivery.d.ts +9 -0
  61. package/dist/src/analyzers/architecture-observation-ingest-delivery.js +62 -0
  62. package/dist/src/analyzers/architecture-observation-ingest-shared.d.ts +13 -0
  63. package/dist/src/analyzers/architecture-observation-ingest-shared.js +12 -0
  64. package/dist/src/analyzers/architecture-observation-ingest-telemetry.d.ts +10 -0
  65. package/dist/src/analyzers/architecture-observation-ingest-telemetry.js +71 -0
  66. package/dist/src/analyzers/architecture-observation-ingest.d.ts +5 -0
  67. package/dist/src/analyzers/architecture-observation-ingest.js +2 -0
  68. package/dist/src/analyzers/architecture-observation-normalization-shared.d.ts +10 -0
  69. package/dist/src/analyzers/architecture-observation-normalization-shared.js +19 -0
  70. package/dist/src/analyzers/architecture-operations-common-ops.d.ts +16 -0
  71. package/dist/src/analyzers/architecture-operations-common-ops.js +76 -0
  72. package/dist/src/analyzers/architecture-operations.d.ts +27 -0
  73. package/dist/src/analyzers/architecture-operations.js +56 -0
  74. package/dist/src/analyzers/architecture-pattern-runtime-fallback.d.ts +8 -0
  75. package/dist/src/analyzers/architecture-pattern-runtime-fallback.js +79 -0
  76. package/dist/src/analyzers/architecture-pattern-runtime-family.d.ts +7 -0
  77. package/dist/src/analyzers/architecture-pattern-runtime-family.js +56 -0
  78. package/dist/src/analyzers/architecture-pattern-runtime-normalization-blocks.d.ts +12 -0
  79. package/dist/src/analyzers/architecture-pattern-runtime-normalization-blocks.js +41 -0
  80. package/dist/src/analyzers/architecture-pattern-runtime-normalization-math.d.ts +10 -0
  81. package/dist/src/analyzers/architecture-pattern-runtime-normalization-math.js +19 -0
  82. package/dist/src/analyzers/architecture-pattern-runtime-normalization.d.ts +21 -0
  83. package/dist/src/analyzers/architecture-pattern-runtime-normalization.js +103 -0
  84. package/dist/src/analyzers/architecture-pattern-runtime-resolution-shared.d.ts +16 -0
  85. package/dist/src/analyzers/architecture-pattern-runtime-resolution-shared.js +65 -0
  86. package/dist/src/analyzers/architecture-pattern-runtime-resolution.d.ts +15 -0
  87. package/dist/src/analyzers/architecture-pattern-runtime-resolution.js +99 -0
  88. package/dist/src/analyzers/architecture-pattern-runtime-shared.d.ts +2 -0
  89. package/dist/src/analyzers/architecture-pattern-runtime-shared.js +1 -0
  90. package/dist/src/analyzers/architecture-pattern-runtime-types.d.ts +29 -0
  91. package/dist/src/analyzers/architecture-pattern-runtime-types.js +1 -0
  92. package/dist/src/analyzers/architecture-pattern-runtime.d.ts +7 -0
  93. package/dist/src/analyzers/architecture-pattern-runtime.js +20 -0
  94. package/dist/src/analyzers/architecture-purity-signals.d.ts +6 -0
  95. package/dist/src/analyzers/architecture-purity-signals.js +21 -0
  96. package/dist/src/analyzers/architecture-purity.d.ts +2 -0
  97. package/dist/src/analyzers/architecture-purity.js +1 -0
  98. package/dist/src/analyzers/architecture-scenarios.d.ts +22 -0
  99. package/dist/src/analyzers/architecture-scenarios.js +95 -0
  100. package/dist/src/analyzers/architecture-source-loader-command.d.ts +8 -0
  101. package/dist/src/analyzers/architecture-source-loader-command.js +73 -0
  102. package/dist/src/analyzers/architecture-source-loader-core.d.ts +22 -0
  103. package/dist/src/analyzers/architecture-source-loader-core.js +41 -0
  104. package/dist/src/analyzers/architecture-source-loader-file.d.ts +8 -0
  105. package/dist/src/analyzers/architecture-source-loader-file.js +28 -0
  106. package/dist/src/analyzers/architecture-source-loader-shared.d.ts +24 -0
  107. package/dist/src/analyzers/architecture-source-loader-shared.js +4 -0
  108. package/dist/src/analyzers/architecture-source-loader.d.ts +2 -0
  109. package/dist/src/analyzers/architecture-source-loader.js +1 -0
  110. package/dist/src/analyzers/architecture-telemetry-normalization-band.d.ts +10 -0
  111. package/dist/src/analyzers/architecture-telemetry-normalization-band.js +78 -0
  112. package/dist/src/analyzers/architecture-telemetry-normalization-core.d.ts +6 -0
  113. package/dist/src/analyzers/architecture-telemetry-normalization-core.js +30 -0
  114. package/dist/src/analyzers/architecture-telemetry-normalization-shared.d.ts +16 -0
  115. package/dist/src/analyzers/architecture-telemetry-normalization-shared.js +1 -0
  116. package/dist/src/analyzers/architecture-telemetry-normalization-spec.d.ts +10 -0
  117. package/dist/src/analyzers/architecture-telemetry-normalization-spec.js +20 -0
  118. package/dist/src/analyzers/architecture-telemetry-normalization.d.ts +6 -0
  119. package/dist/src/analyzers/architecture-telemetry-normalization.js +4 -0
  120. package/dist/src/analyzers/architecture-topology-core.d.ts +7 -0
  121. package/dist/src/analyzers/architecture-topology-core.js +4 -0
  122. package/dist/src/analyzers/architecture-topology-shared.d.ts +2 -0
  123. package/dist/src/analyzers/architecture-topology-shared.js +9 -0
  124. package/dist/src/analyzers/architecture-topology-signals.d.ts +21 -0
  125. package/dist/src/analyzers/architecture-topology-signals.js +98 -0
  126. package/dist/src/analyzers/architecture-topology.d.ts +2 -0
  127. package/dist/src/analyzers/architecture-topology.js +1 -0
  128. package/dist/src/analyzers/architecture.d.ts +16 -0
  129. package/dist/src/analyzers/architecture.js +44 -0
  130. package/dist/src/analyzers/code-contracts.d.ts +4 -0
  131. package/dist/src/analyzers/code-contracts.js +74 -0
  132. package/dist/src/analyzers/code-dart.d.ts +3 -0
  133. package/dist/src/analyzers/code-dart.js +57 -0
  134. package/dist/src/analyzers/code-ecma.d.ts +2 -0
  135. package/dist/src/analyzers/code-ecma.js +53 -0
  136. package/dist/src/analyzers/code-shared.d.ts +19 -0
  137. package/dist/src/analyzers/code-shared.js +64 -0
  138. package/dist/src/analyzers/code.d.ts +3 -0
  139. package/dist/src/analyzers/code.js +34 -0
  140. package/dist/src/analyzers/contract-files.d.ts +13 -0
  141. package/dist/src/analyzers/contract-files.js +80 -0
  142. package/dist/src/analyzers/cti-complexity-components.d.ts +12 -0
  143. package/dist/src/analyzers/cti-complexity-components.js +83 -0
  144. package/dist/src/analyzers/cti-complexity-recorder.d.ts +31 -0
  145. package/dist/src/analyzers/cti-complexity-recorder.js +58 -0
  146. package/dist/src/analyzers/cti-complexity.d.ts +7 -0
  147. package/dist/src/analyzers/cti-complexity.js +15 -0
  148. package/dist/src/analyzers/cti-helpers.d.ts +7 -0
  149. package/dist/src/analyzers/cti-helpers.js +40 -0
  150. package/dist/src/analyzers/cti.d.ts +2 -0
  151. package/dist/src/analyzers/cti.js +1 -0
  152. package/dist/src/cli.d.ts +2 -0
  153. package/dist/src/cli.js +95 -0
  154. package/dist/src/command-architecture-inputs-loaders-config.d.ts +24 -0
  155. package/dist/src/command-architecture-inputs-loaders-config.js +17 -0
  156. package/dist/src/command-architecture-inputs-loaders-data.d.ts +22 -0
  157. package/dist/src/command-architecture-inputs-loaders-data.js +105 -0
  158. package/dist/src/command-architecture-inputs-loaders.d.ts +42 -0
  159. package/dist/src/command-architecture-inputs-loaders.js +12 -0
  160. package/dist/src/command-architecture-inputs-provenance.d.ts +2 -0
  161. package/dist/src/command-architecture-inputs-provenance.js +29 -0
  162. package/dist/src/command-architecture-inputs-resolved.d.ts +44 -0
  163. package/dist/src/command-architecture-inputs-resolved.js +72 -0
  164. package/dist/src/command-architecture-inputs-sources.d.ts +2 -0
  165. package/dist/src/command-architecture-inputs-sources.js +1 -0
  166. package/dist/src/command-architecture-inputs.d.ts +4 -0
  167. package/dist/src/command-architecture-inputs.js +63 -0
  168. package/dist/src/command-architecture.d.ts +2 -0
  169. package/dist/src/command-architecture.js +35 -0
  170. package/dist/src/command-domain.d.ts +2 -0
  171. package/dist/src/command-domain.js +124 -0
  172. package/dist/src/command-extraction-helpers.d.ts +13 -0
  173. package/dist/src/command-extraction-helpers.js +33 -0
  174. package/dist/src/command-helpers.d.ts +4 -0
  175. package/dist/src/command-helpers.js +3 -0
  176. package/dist/src/command-history.d.ts +2 -0
  177. package/dist/src/command-history.js +61 -0
  178. package/dist/src/command-input-loaders-architecture-compat-delivery-complexity.d.ts +3 -0
  179. package/dist/src/command-input-loaders-architecture-compat-delivery-complexity.js +132 -0
  180. package/dist/src/command-input-loaders-architecture-compat-pattern-runtime.d.ts +2 -0
  181. package/dist/src/command-input-loaders-architecture-compat-pattern-runtime.js +54 -0
  182. package/dist/src/command-input-loaders-architecture-compat-scenario.d.ts +3 -0
  183. package/dist/src/command-input-loaders-architecture-compat-scenario.js +94 -0
  184. package/dist/src/command-input-loaders-architecture-compat-shared.d.ts +17 -0
  185. package/dist/src/command-input-loaders-architecture-compat-shared.js +109 -0
  186. package/dist/src/command-input-loaders-architecture-compat-telemetry.d.ts +3 -0
  187. package/dist/src/command-input-loaders-architecture-compat-telemetry.js +137 -0
  188. package/dist/src/command-input-loaders-architecture-compat-topology-boundary.d.ts +3 -0
  189. package/dist/src/command-input-loaders-architecture-compat-topology-boundary.js +178 -0
  190. package/dist/src/command-input-loaders-architecture-compat.d.ts +4 -0
  191. package/dist/src/command-input-loaders-architecture-compat.js +4 -0
  192. package/dist/src/command-input-loaders-architecture-config.d.ts +34 -0
  193. package/dist/src/command-input-loaders-architecture-config.js +25 -0
  194. package/dist/src/command-input-loaders-architecture-data.d.ts +17 -0
  195. package/dist/src/command-input-loaders-architecture-data.js +47 -0
  196. package/dist/src/command-input-loaders-architecture.d.ts +2 -0
  197. package/dist/src/command-input-loaders-architecture.js +2 -0
  198. package/dist/src/command-input-loaders-core.d.ts +20 -0
  199. package/dist/src/command-input-loaders-core.js +58 -0
  200. package/dist/src/command-input-loaders.d.ts +2 -0
  201. package/dist/src/command-input-loaders.js +2 -0
  202. package/dist/src/command-path-helpers.d.ts +6 -0
  203. package/dist/src/command-path-helpers.js +15 -0
  204. package/dist/src/command-score-driven.d.ts +19 -0
  205. package/dist/src/command-score-driven.js +96 -0
  206. package/dist/src/command-score.d.ts +3 -0
  207. package/dist/src/command-score.js +78 -0
  208. package/dist/src/command-shadow-rollout-batch.d.ts +5 -0
  209. package/dist/src/command-shadow-rollout-batch.js +85 -0
  210. package/dist/src/command-shadow-rollout-gate.d.ts +5 -0
  211. package/dist/src/command-shadow-rollout-gate.js +33 -0
  212. package/dist/src/command-shadow-rollout-observe.d.ts +5 -0
  213. package/dist/src/command-shadow-rollout-observe.js +43 -0
  214. package/dist/src/command-shadow-rollout-shared.d.ts +4 -0
  215. package/dist/src/command-shadow-rollout-shared.js +23 -0
  216. package/dist/src/command-shadow-rollout.d.ts +2 -0
  217. package/dist/src/command-shadow-rollout.js +16 -0
  218. package/dist/src/command-types.d.ts +4 -0
  219. package/dist/src/command-types.js +1 -0
  220. package/dist/src/commands.d.ts +6 -0
  221. package/dist/src/commands.js +66 -0
  222. package/dist/src/core/aggregate-fitness-core.d.ts +24 -0
  223. package/dist/src/core/aggregate-fitness-core.js +40 -0
  224. package/dist/src/core/aggregate-fitness-evidence.d.ts +2 -0
  225. package/dist/src/core/aggregate-fitness-evidence.js +24 -0
  226. package/dist/src/core/aggregate-fitness-mapping.d.ts +17 -0
  227. package/dist/src/core/aggregate-fitness-mapping.js +57 -0
  228. package/dist/src/core/aggregate-fitness-scoring.d.ts +24 -0
  229. package/dist/src/core/aggregate-fitness-scoring.js +71 -0
  230. package/dist/src/core/aggregate-fitness-shared.d.ts +21 -0
  231. package/dist/src/core/aggregate-fitness-shared.js +127 -0
  232. package/dist/src/core/aggregate-fitness.d.ts +2 -0
  233. package/dist/src/core/aggregate-fitness.js +1 -0
  234. package/dist/src/core/architecture-purity-core.d.ts +3 -0
  235. package/dist/src/core/architecture-purity-core.js +94 -0
  236. package/dist/src/core/architecture-purity-types.d.ts +18 -0
  237. package/dist/src/core/architecture-purity-types.js +1 -0
  238. package/dist/src/core/architecture-scenario-quality.d.ts +5 -0
  239. package/dist/src/core/architecture-scenario-quality.js +52 -0
  240. package/dist/src/core/architecture-scoring-evidence-architecture.d.ts +10 -0
  241. package/dist/src/core/architecture-scoring-evidence-architecture.js +50 -0
  242. package/dist/src/core/architecture-scoring-evidence-findings.d.ts +2 -0
  243. package/dist/src/core/architecture-scoring-evidence-findings.js +2 -0
  244. package/dist/src/core/architecture-scoring-evidence-inputs-ingest.d.ts +5 -0
  245. package/dist/src/core/architecture-scoring-evidence-inputs-ingest.js +68 -0
  246. package/dist/src/core/architecture-scoring-evidence-inputs-shared.d.ts +20 -0
  247. package/dist/src/core/architecture-scoring-evidence-inputs-shared.js +24 -0
  248. package/dist/src/core/architecture-scoring-evidence-inputs-source.d.ts +7 -0
  249. package/dist/src/core/architecture-scoring-evidence-inputs-source.js +16 -0
  250. package/dist/src/core/architecture-scoring-evidence-inputs.d.ts +2 -0
  251. package/dist/src/core/architecture-scoring-evidence-inputs.js +2 -0
  252. package/dist/src/core/architecture-scoring-evidence-observability.d.ts +12 -0
  253. package/dist/src/core/architecture-scoring-evidence-observability.js +75 -0
  254. package/dist/src/core/architecture-scoring-evidence.d.ts +30 -0
  255. package/dist/src/core/architecture-scoring-evidence.js +76 -0
  256. package/dist/src/core/architecture-scoring-evolution-inputs.d.ts +10 -0
  257. package/dist/src/core/architecture-scoring-evolution-inputs.js +56 -0
  258. package/dist/src/core/architecture-scoring-inputs-complexity.d.ts +7 -0
  259. package/dist/src/core/architecture-scoring-inputs-complexity.js +24 -0
  260. package/dist/src/core/architecture-scoring-inputs-observability.d.ts +11 -0
  261. package/dist/src/core/architecture-scoring-inputs-observability.js +84 -0
  262. package/dist/src/core/architecture-scoring-inputs-static.d.ts +13 -0
  263. package/dist/src/core/architecture-scoring-inputs-static.js +48 -0
  264. package/dist/src/core/architecture-scoring-inputs.d.ts +9 -0
  265. package/dist/src/core/architecture-scoring-inputs.js +16 -0
  266. package/dist/src/core/architecture-scoring-metric-shared.d.ts +11 -0
  267. package/dist/src/core/architecture-scoring-metric-shared.js +3 -0
  268. package/dist/src/core/architecture-scoring-metrics-composite.d.ts +3 -0
  269. package/dist/src/core/architecture-scoring-metrics-composite.js +56 -0
  270. package/dist/src/core/architecture-scoring-metrics-core.d.ts +3 -0
  271. package/dist/src/core/architecture-scoring-metrics-core.js +81 -0
  272. package/dist/src/core/architecture-scoring-metrics-evolution.d.ts +3 -0
  273. package/dist/src/core/architecture-scoring-metrics-evolution.js +74 -0
  274. package/dist/src/core/architecture-scoring-metrics-runtime.d.ts +3 -0
  275. package/dist/src/core/architecture-scoring-metrics-runtime.js +68 -0
  276. package/dist/src/core/architecture-scoring-metrics.d.ts +4 -0
  277. package/dist/src/core/architecture-scoring-metrics.js +14 -0
  278. package/dist/src/core/architecture-scoring-types.d.ts +94 -0
  279. package/dist/src/core/architecture-scoring-types.js +1 -0
  280. package/dist/src/core/architecture-scoring.d.ts +9 -0
  281. package/dist/src/core/architecture-scoring.js +82 -0
  282. package/dist/src/core/artifacts.d.ts +3 -0
  283. package/dist/src/core/artifacts.js +58 -0
  284. package/dist/src/core/boundary-fitness-attraction.d.ts +4 -0
  285. package/dist/src/core/boundary-fitness-attraction.js +11 -0
  286. package/dist/src/core/boundary-fitness-contexts.d.ts +7 -0
  287. package/dist/src/core/boundary-fitness-contexts.js +80 -0
  288. package/dist/src/core/boundary-fitness-core.d.ts +28 -0
  289. package/dist/src/core/boundary-fitness-core.js +132 -0
  290. package/dist/src/core/boundary-fitness-evidence.d.ts +17 -0
  291. package/dist/src/core/boundary-fitness-evidence.js +27 -0
  292. package/dist/src/core/boundary-fitness-separation.d.ts +13 -0
  293. package/dist/src/core/boundary-fitness-separation.js +14 -0
  294. package/dist/src/core/boundary-fitness-shared.d.ts +3 -0
  295. package/dist/src/core/boundary-fitness-shared.js +17 -0
  296. package/dist/src/core/boundary-fitness-signals.d.ts +21 -0
  297. package/dist/src/core/boundary-fitness-signals.js +104 -0
  298. package/dist/src/core/boundary-fitness.d.ts +3 -0
  299. package/dist/src/core/boundary-fitness.js +2 -0
  300. package/dist/src/core/command-analytics.d.ts +32 -0
  301. package/dist/src/core/command-analytics.js +80 -0
  302. package/dist/src/core/contracts/analysis.d.ts +105 -0
  303. package/dist/src/core/contracts/analysis.js +1 -0
  304. package/dist/src/core/contracts/architecture-complexity.d.ts +20 -0
  305. package/dist/src/core/contracts/architecture-complexity.js +1 -0
  306. package/dist/src/core/contracts/architecture-constraints.d.ts +62 -0
  307. package/dist/src/core/contracts/architecture-constraints.js +1 -0
  308. package/dist/src/core/contracts/architecture-contract-baseline.d.ts +33 -0
  309. package/dist/src/core/contracts/architecture-contract-baseline.js +1 -0
  310. package/dist/src/core/contracts/architecture-delivery.d.ts +42 -0
  311. package/dist/src/core/contracts/architecture-delivery.js +1 -0
  312. package/dist/src/core/contracts/architecture-normalization.d.ts +6 -0
  313. package/dist/src/core/contracts/architecture-normalization.js +1 -0
  314. package/dist/src/core/contracts/architecture-pattern-runtime.d.ts +69 -0
  315. package/dist/src/core/contracts/architecture-pattern-runtime.js +1 -0
  316. package/dist/src/core/contracts/architecture-scenarios.d.ts +62 -0
  317. package/dist/src/core/contracts/architecture-scenarios.js +1 -0
  318. package/dist/src/core/contracts/architecture-telemetry.d.ts +47 -0
  319. package/dist/src/core/contracts/architecture-telemetry.js +1 -0
  320. package/dist/src/core/contracts/architecture-topology.d.ts +35 -0
  321. package/dist/src/core/contracts/architecture-topology.js +1 -0
  322. package/dist/src/core/contracts/architecture.d.ts +9 -0
  323. package/dist/src/core/contracts/architecture.js +9 -0
  324. package/dist/src/core/contracts/common.d.ts +87 -0
  325. package/dist/src/core/contracts/common.js +1 -0
  326. package/dist/src/core/contracts/domain-design-score.d.ts +14 -0
  327. package/dist/src/core/contracts/domain-design-score.js +1 -0
  328. package/dist/src/core/contracts/domain-design-shadow-rollout-batch.d.ts +58 -0
  329. package/dist/src/core/contracts/domain-design-shadow-rollout-batch.js +1 -0
  330. package/dist/src/core/contracts/domain-design-shadow-rollout-gate.d.ts +46 -0
  331. package/dist/src/core/contracts/domain-design-shadow-rollout-gate.js +1 -0
  332. package/dist/src/core/contracts/domain-design-shadow-rollout-observation.d.ts +17 -0
  333. package/dist/src/core/contracts/domain-design-shadow-rollout-observation.js +1 -0
  334. package/dist/src/core/contracts/domain-design-shadow-rollout-registry.d.ts +15 -0
  335. package/dist/src/core/contracts/domain-design-shadow-rollout-registry.js +1 -0
  336. package/dist/src/core/contracts/domain-design.d.ts +5 -0
  337. package/dist/src/core/contracts/domain-design.js +5 -0
  338. package/dist/src/core/contracts/domain-model.d.ts +35 -0
  339. package/dist/src/core/contracts/domain-model.js +1 -0
  340. package/dist/src/core/contracts/governance-extraction.d.ts +65 -0
  341. package/dist/src/core/contracts/governance-extraction.js +1 -0
  342. package/dist/src/core/contracts/governance-policy.d.ts +23 -0
  343. package/dist/src/core/contracts/governance-policy.js +1 -0
  344. package/dist/src/core/contracts/governance-review.d.ts +31 -0
  345. package/dist/src/core/contracts/governance-review.js +1 -0
  346. package/dist/src/core/contracts/governance-runtime.d.ts +12 -0
  347. package/dist/src/core/contracts/governance-runtime.js +1 -0
  348. package/dist/src/core/contracts/governance-scoring.d.ts +41 -0
  349. package/dist/src/core/contracts/governance-scoring.js +1 -0
  350. package/dist/src/core/contracts/governance.d.ts +5 -0
  351. package/dist/src/core/contracts/governance.js +5 -0
  352. package/dist/src/core/contracts.d.ts +6 -0
  353. package/dist/src/core/contracts.js +6 -0
  354. package/dist/src/core/document-extractor-glossary.d.ts +3 -0
  355. package/dist/src/core/document-extractor-glossary.js +90 -0
  356. package/dist/src/core/document-extractor-identity.d.ts +18 -0
  357. package/dist/src/core/document-extractor-identity.js +37 -0
  358. package/dist/src/core/document-extractor-shared.d.ts +3 -0
  359. package/dist/src/core/document-extractor-shared.js +2 -0
  360. package/dist/src/core/document-extractor-statements-classification-cli.d.ts +3 -0
  361. package/dist/src/core/document-extractor-statements-classification-cli.js +50 -0
  362. package/dist/src/core/document-extractor-statements-classification-core.d.ts +17 -0
  363. package/dist/src/core/document-extractor-statements-classification-core.js +91 -0
  364. package/dist/src/core/document-extractor-statements-classification-heuristic.d.ts +3 -0
  365. package/dist/src/core/document-extractor-statements-classification-heuristic.js +32 -0
  366. package/dist/src/core/document-extractor-statements-classification.d.ts +2 -0
  367. package/dist/src/core/document-extractor-statements-classification.js +2 -0
  368. package/dist/src/core/document-extractor-statements-segments.d.ts +3 -0
  369. package/dist/src/core/document-extractor-statements-segments.js +38 -0
  370. package/dist/src/core/document-extractor-statements.d.ts +1 -0
  371. package/dist/src/core/document-extractor-statements.js +1 -0
  372. package/dist/src/core/document-extractor-text-normalization.d.ts +5 -0
  373. package/dist/src/core/document-extractor-text-normalization.js +29 -0
  374. package/dist/src/core/document-extractor-text-review.d.ts +3 -0
  375. package/dist/src/core/document-extractor-text-review.js +15 -0
  376. package/dist/src/core/document-extractor-text-signals.d.ts +11 -0
  377. package/dist/src/core/document-extractor-text-signals.js +115 -0
  378. package/dist/src/core/document-extractor-text.d.ts +3 -0
  379. package/dist/src/core/document-extractor-text.js +3 -0
  380. package/dist/src/core/document-extractor-types.d.ts +30 -0
  381. package/dist/src/core/document-extractor-types.js +1 -0
  382. package/dist/src/core/document-extractors-review.d.ts +4 -0
  383. package/dist/src/core/document-extractors-review.js +10 -0
  384. package/dist/src/core/document-extractors-runner.d.ts +15 -0
  385. package/dist/src/core/document-extractors-runner.js +31 -0
  386. package/dist/src/core/document-extractors.d.ts +24 -0
  387. package/dist/src/core/document-extractors.js +130 -0
  388. package/dist/src/core/domain-design-matching.d.ts +2 -0
  389. package/dist/src/core/domain-design-matching.js +85 -0
  390. package/dist/src/core/domain-design-scoring-context.d.ts +25 -0
  391. package/dist/src/core/domain-design-scoring-context.js +66 -0
  392. package/dist/src/core/domain-design-scoring-core-docs.d.ts +5 -0
  393. package/dist/src/core/domain-design-scoring-core-docs.js +8 -0
  394. package/dist/src/core/domain-design-scoring-core.d.ts +24 -0
  395. package/dist/src/core/domain-design-scoring-core.js +137 -0
  396. package/dist/src/core/domain-design-scoring-docs-afs.d.ts +2 -0
  397. package/dist/src/core/domain-design-scoring-docs-afs.js +40 -0
  398. package/dist/src/core/domain-design-scoring-docs-bfs.d.ts +2 -0
  399. package/dist/src/core/domain-design-scoring-docs-bfs.js +46 -0
  400. package/dist/src/core/domain-design-scoring-docs-core.d.ts +12 -0
  401. package/dist/src/core/domain-design-scoring-docs-core.js +47 -0
  402. package/dist/src/core/domain-design-scoring-docs-drf.d.ts +2 -0
  403. package/dist/src/core/domain-design-scoring-docs-drf.js +55 -0
  404. package/dist/src/core/domain-design-scoring-docs-shared.d.ts +25 -0
  405. package/dist/src/core/domain-design-scoring-docs-shared.js +1 -0
  406. package/dist/src/core/domain-design-scoring-docs-uli.d.ts +2 -0
  407. package/dist/src/core/domain-design-scoring-docs-uli.js +39 -0
  408. package/dist/src/core/domain-design-scoring-docs.d.ts +1 -0
  409. package/dist/src/core/domain-design-scoring-docs.js +1 -0
  410. package/dist/src/core/domain-design-scoring-locality.d.ts +27 -0
  411. package/dist/src/core/domain-design-scoring-locality.js +87 -0
  412. package/dist/src/core/domain-design-scoring-mccs.d.ts +18 -0
  413. package/dist/src/core/domain-design-scoring-mccs.js +29 -0
  414. package/dist/src/core/domain-design-scoring-pilot.d.ts +13 -0
  415. package/dist/src/core/domain-design-scoring-pilot.js +57 -0
  416. package/dist/src/core/domain-design-scoring-response-shared.d.ts +20 -0
  417. package/dist/src/core/domain-design-scoring-response-shared.js +30 -0
  418. package/dist/src/core/domain-design-scoring-response.d.ts +18 -0
  419. package/dist/src/core/domain-design-scoring-response.js +27 -0
  420. package/dist/src/core/domain-design-scoring-support-drf.d.ts +17 -0
  421. package/dist/src/core/domain-design-scoring-support-drf.js +118 -0
  422. package/dist/src/core/domain-design-scoring-support-persistence.d.ts +6 -0
  423. package/dist/src/core/domain-design-scoring-support-persistence.js +8 -0
  424. package/dist/src/core/domain-design-scoring-support-uli.d.ts +12 -0
  425. package/dist/src/core/domain-design-scoring-support-uli.js +31 -0
  426. package/dist/src/core/domain-design-scoring-support.d.ts +3 -0
  427. package/dist/src/core/domain-design-scoring-support.js +3 -0
  428. package/dist/src/core/domain-design-scoring.d.ts +1 -0
  429. package/dist/src/core/domain-design-scoring.js +1 -0
  430. package/dist/src/core/formula-parser-tokenize.d.ts +14 -0
  431. package/dist/src/core/formula-parser-tokenize.js +58 -0
  432. package/dist/src/core/formula-parser.d.ts +1 -0
  433. package/dist/src/core/formula-parser.js +91 -0
  434. package/dist/src/core/formula.d.ts +1 -0
  435. package/dist/src/core/formula.js +1 -0
  436. package/dist/src/core/history-locality.d.ts +5 -0
  437. package/dist/src/core/history-locality.js +48 -0
  438. package/dist/src/core/history-normalization.d.ts +13 -0
  439. package/dist/src/core/history-normalization.js +105 -0
  440. package/dist/src/core/history-persistence-analysis.d.ts +6 -0
  441. package/dist/src/core/history-persistence-analysis.js +26 -0
  442. package/dist/src/core/history-persistence-clusters.d.ts +6 -0
  443. package/dist/src/core/history-persistence-clusters.js +9 -0
  444. package/dist/src/core/history-persistence-comparison.d.ts +6 -0
  445. package/dist/src/core/history-persistence-comparison.js +66 -0
  446. package/dist/src/core/history-persistence-components.d.ts +8 -0
  447. package/dist/src/core/history-persistence-components.js +99 -0
  448. package/dist/src/core/history-persistence-stability.d.ts +8 -0
  449. package/dist/src/core/history-persistence-stability.js +79 -0
  450. package/dist/src/core/history-persistence.d.ts +2 -0
  451. package/dist/src/core/history-persistence.js +2 -0
  452. package/dist/src/core/history-shared.d.ts +27 -0
  453. package/dist/src/core/history-shared.js +145 -0
  454. package/dist/src/core/history.d.ts +3 -0
  455. package/dist/src/core/history.js +3 -0
  456. package/dist/src/core/io.d.ts +9 -0
  457. package/dist/src/core/io.js +86 -0
  458. package/dist/src/core/measurement-metadata.d.ts +13 -0
  459. package/dist/src/core/measurement-metadata.js +142 -0
  460. package/dist/src/core/model.d.ts +3 -0
  461. package/dist/src/core/model.js +33 -0
  462. package/dist/src/core/policy-defaults-architecture.d.ts +2 -0
  463. package/dist/src/core/policy-defaults-architecture.js +75 -0
  464. package/dist/src/core/policy-defaults-domain.d.ts +2 -0
  465. package/dist/src/core/policy-defaults-domain.js +51 -0
  466. package/dist/src/core/policy-defaults-profiles.d.ts +2 -0
  467. package/dist/src/core/policy-defaults-profiles.js +24 -0
  468. package/dist/src/core/policy-defaults.d.ts +2 -0
  469. package/dist/src/core/policy-defaults.js +4 -0
  470. package/dist/src/core/policy-formulas.d.ts +5 -0
  471. package/dist/src/core/policy-formulas.js +5 -0
  472. package/dist/src/core/policy.d.ts +4 -0
  473. package/dist/src/core/policy.js +20 -0
  474. package/dist/src/core/progress.d.ts +8 -0
  475. package/dist/src/core/progress.js +40 -0
  476. package/dist/src/core/providers-normalization.d.ts +7 -0
  477. package/dist/src/core/providers-normalization.js +27 -0
  478. package/dist/src/core/providers-prompt.d.ts +4 -0
  479. package/dist/src/core/providers-prompt.js +63 -0
  480. package/dist/src/core/providers-runner.d.ts +3 -0
  481. package/dist/src/core/providers-runner.js +32 -0
  482. package/dist/src/core/providers-types.d.ts +10 -0
  483. package/dist/src/core/providers-types.js +1 -0
  484. package/dist/src/core/providers.d.ts +4 -0
  485. package/dist/src/core/providers.js +30 -0
  486. package/dist/src/core/report-actionability.d.ts +4 -0
  487. package/dist/src/core/report-actionability.js +57 -0
  488. package/dist/src/core/report-architecture.d.ts +2 -0
  489. package/dist/src/core/report-architecture.js +80 -0
  490. package/dist/src/core/report-domain.d.ts +2 -0
  491. package/dist/src/core/report-domain.js +50 -0
  492. package/dist/src/core/report-gate.d.ts +3 -0
  493. package/dist/src/core/report-gate.js +54 -0
  494. package/dist/src/core/report-shared-format.d.ts +2 -0
  495. package/dist/src/core/report-shared-format.js +6 -0
  496. package/dist/src/core/report-shared-guidance.d.ts +2 -0
  497. package/dist/src/core/report-shared-guidance.js +98 -0
  498. package/dist/src/core/report-shared-predicates.d.ts +17 -0
  499. package/dist/src/core/report-shared-predicates.js +9 -0
  500. package/dist/src/core/report-shared.d.ts +4 -0
  501. package/dist/src/core/report-shared.js +3 -0
  502. package/dist/src/core/report.d.ts +3 -0
  503. package/dist/src/core/report.js +10 -0
  504. package/dist/src/core/response.d.ts +8 -0
  505. package/dist/src/core/response.js +67 -0
  506. package/dist/src/core/review-items.d.ts +2 -0
  507. package/dist/src/core/review-items.js +116 -0
  508. package/dist/src/core/review-resolutions.d.ts +3 -0
  509. package/dist/src/core/review-resolutions.js +43 -0
  510. package/dist/src/core/review.d.ts +2 -0
  511. package/dist/src/core/review.js +2 -0
  512. package/dist/src/core/scaffold-aggregation.d.ts +13 -0
  513. package/dist/src/core/scaffold-aggregation.js +18 -0
  514. package/dist/src/core/scaffold-architecture-balances.d.ts +3 -0
  515. package/dist/src/core/scaffold-architecture-balances.js +25 -0
  516. package/dist/src/core/scaffold-architecture-drafts-builders.d.ts +19 -0
  517. package/dist/src/core/scaffold-architecture-drafts-builders.js +114 -0
  518. package/dist/src/core/scaffold-architecture-drafts-profiles.d.ts +11 -0
  519. package/dist/src/core/scaffold-architecture-drafts-profiles.js +183 -0
  520. package/dist/src/core/scaffold-architecture-drafts.d.ts +12 -0
  521. package/dist/src/core/scaffold-architecture-drafts.js +4 -0
  522. package/dist/src/core/scaffold-architecture-layer-candidates.d.ts +3 -0
  523. package/dist/src/core/scaffold-architecture-layer-candidates.js +32 -0
  524. package/dist/src/core/scaffold-architecture-layers.d.ts +3 -0
  525. package/dist/src/core/scaffold-architecture-layers.js +15 -0
  526. package/dist/src/core/scaffold-architecture-orchestration.d.ts +5 -0
  527. package/dist/src/core/scaffold-architecture-orchestration.js +36 -0
  528. package/dist/src/core/scaffold-architecture-ordering.d.ts +4 -0
  529. package/dist/src/core/scaffold-architecture-ordering.js +55 -0
  530. package/dist/src/core/scaffold-architecture.d.ts +1 -0
  531. package/dist/src/core/scaffold-architecture.js +1 -0
  532. package/dist/src/core/scaffold-domain-aggregates-candidates.d.ts +4 -0
  533. package/dist/src/core/scaffold-domain-aggregates-candidates.js +8 -0
  534. package/dist/src/core/scaffold-domain-aggregates-core.d.ts +1 -0
  535. package/dist/src/core/scaffold-domain-aggregates-core.js +1 -0
  536. package/dist/src/core/scaffold-domain-aggregates-dedupe.d.ts +2 -0
  537. package/dist/src/core/scaffold-domain-aggregates-dedupe.js +18 -0
  538. package/dist/src/core/scaffold-domain-aggregates-explicit.d.ts +4 -0
  539. package/dist/src/core/scaffold-domain-aggregates-explicit.js +43 -0
  540. package/dist/src/core/scaffold-domain-aggregates-inferred.d.ts +4 -0
  541. package/dist/src/core/scaffold-domain-aggregates-inferred.js +117 -0
  542. package/dist/src/core/scaffold-domain-aggregates-shared.d.ts +23 -0
  543. package/dist/src/core/scaffold-domain-aggregates-shared.js +91 -0
  544. package/dist/src/core/scaffold-domain-aggregates.d.ts +1 -0
  545. package/dist/src/core/scaffold-domain-aggregates.js +1 -0
  546. package/dist/src/core/scaffold-domain-context-candidates.d.ts +5 -0
  547. package/dist/src/core/scaffold-domain-context-candidates.js +65 -0
  548. package/dist/src/core/scaffold-domain-context-naming.d.ts +8 -0
  549. package/dist/src/core/scaffold-domain-context-naming.js +117 -0
  550. package/dist/src/core/scaffold-domain-contexts.d.ts +11 -0
  551. package/dist/src/core/scaffold-domain-contexts.js +75 -0
  552. package/dist/src/core/scaffold-domain-docs.d.ts +17 -0
  553. package/dist/src/core/scaffold-domain-docs.js +18 -0
  554. package/dist/src/core/scaffold-domain.d.ts +7 -0
  555. package/dist/src/core/scaffold-domain.js +62 -0
  556. package/dist/src/core/scaffold-naming.d.ts +4 -0
  557. package/dist/src/core/scaffold-naming.js +32 -0
  558. package/dist/src/core/scaffold-options.d.ts +2 -0
  559. package/dist/src/core/scaffold-options.js +10 -0
  560. package/dist/src/core/scaffold-shared.d.ts +5 -0
  561. package/dist/src/core/scaffold-shared.js +4 -0
  562. package/dist/src/core/scaffold-source-group-classification.d.ts +3 -0
  563. package/dist/src/core/scaffold-source-group-classification.js +91 -0
  564. package/dist/src/core/scaffold-source-group-constants.d.ts +3 -0
  565. package/dist/src/core/scaffold-source-group-constants.js +52 -0
  566. package/dist/src/core/scaffold-source-group-merge.d.ts +5 -0
  567. package/dist/src/core/scaffold-source-group-merge.js +56 -0
  568. package/dist/src/core/scaffold-source-group-naming.d.ts +4 -0
  569. package/dist/src/core/scaffold-source-group-naming.js +66 -0
  570. package/dist/src/core/scaffold-source-groups.d.ts +5 -0
  571. package/dist/src/core/scaffold-source-groups.js +123 -0
  572. package/dist/src/core/scaffold-types.d.ts +30 -0
  573. package/dist/src/core/scaffold-types.js +1 -0
  574. package/dist/src/core/scaffold.d.ts +2 -0
  575. package/dist/src/core/scaffold.js +2 -0
  576. package/dist/src/core/scoring-shared.d.ts +12 -0
  577. package/dist/src/core/scoring-shared.js +39 -0
  578. package/dist/src/core/scoring.d.ts +2 -0
  579. package/dist/src/core/scoring.js +2 -0
  580. package/dist/src/core/shadow-rollout-gate-reasons.d.ts +8 -0
  581. package/dist/src/core/shadow-rollout-gate-reasons.js +22 -0
  582. package/dist/src/core/shadow-rollout-gate-summary.d.ts +2 -0
  583. package/dist/src/core/shadow-rollout-gate-summary.js +36 -0
  584. package/dist/src/core/shadow-rollout-gate.d.ts +2 -0
  585. package/dist/src/core/shadow-rollout-gate.js +50 -0
  586. package/dist/src/core/shadow-rollout-registry.d.ts +5 -0
  587. package/dist/src/core/shadow-rollout-registry.js +31 -0
  588. package/dist/src/core/shadow-rollout-summary.d.ts +4 -0
  589. package/dist/src/core/shadow-rollout-summary.js +39 -0
  590. package/dist/src/core/shadow-rollout.d.ts +3 -0
  591. package/dist/src/core/shadow-rollout.js +3 -0
  592. package/dist/src/core/shared-utils.d.ts +4 -0
  593. package/dist/src/core/shared-utils.js +15 -0
  594. package/dist/src/core/trace.d.ts +14 -0
  595. package/dist/src/core/trace.js +118 -0
  596. package/dist/src/index.d.ts +7 -0
  597. package/dist/src/index.js +7 -0
  598. package/dist/src/packs/index.d.ts +2 -0
  599. package/dist/src/packs/index.js +36 -0
  600. package/package.json +68 -0
package/README.md ADDED
@@ -0,0 +1,323 @@
1
+ # AI-Assisted Design Measurement Platform
2
+
3
+ Japanese version: [README.ja.md](README.ja.md)
4
+
5
+ This is a docs-first repository for measuring design quality with evidence, using AI-assisted extraction together with deterministic analyzers. The current implementation covers domain-design and architecture-design evaluation, and the documentation is split so future packs can extend the same measurement model without changing the reading model.
6
+
7
+ Japanese documents are the primary source of truth. English documents mirror the same structure and document roles.
8
+
9
+ ## Start Reading
10
+
11
+ 1. [docs/README.md](docs/README.md)
12
+ 2. [docs/guides/user-guide.md](docs/guides/user-guide.md)
13
+ 3. [docs/guides/repo-apply-playbook.md](docs/guides/repo-apply-playbook.md)
14
+ 4. [docs/concepts/measurement-model.md](docs/concepts/measurement-model.md)
15
+ 5. [docs/reference/domain-design-metrics.md](docs/reference/domain-design-metrics.md)
16
+ 6. [docs/reference/architecture-design-metrics.md](docs/reference/architecture-design-metrics.md)
17
+ 7. [docs/implementation/runtime-and-commands.md](docs/implementation/runtime-and-commands.md)
18
+
19
+ ## Documentation Map
20
+
21
+ - [docs/README.md](docs/README.md): documentation index
22
+ - [docs/guides/user-guide.md](docs/guides/user-guide.md): quickest path for first-time CLI use
23
+ - [docs/guides/repo-apply-playbook.md](docs/guides/repo-apply-playbook.md): practical path for applying `context-probe` to an existing repo
24
+ - [docs/concepts/](docs/concepts): conceptual specifications and measurement model
25
+ - [docs/reference/](docs/reference): how to interpret metrics and summary scores
26
+ - [docs/implementation/](docs/implementation): how the current CLI computes and reports the metrics
27
+ - [docs/operations/](docs/operations): policy, CI, and collector operation guidance
28
+ - [docs/roadmap/](docs/roadmap): phased rollout and experimental notes
29
+
30
+ ## First Commands To Learn
31
+
32
+ - `score.compute`
33
+ - `report.generate`
34
+ - `gate.evaluate`
35
+ - `review.list_unknowns`
36
+
37
+ ## Core Principles
38
+
39
+ - Use AI as an evidence extractor and ambiguity reducer, not as the scorer.
40
+ - Compute scores through fixed formulas and deterministic analysis.
41
+ - Attach `evidence`, `confidence`, `unknowns`, and `provenance` to every metric.
42
+ - Prefer candidate comparison and time-series comparison over cross-organization ranking.
43
+ - Add new evaluation domains as packs on top of a shared measurement foundation.
44
+
45
+ ## Current Implementation
46
+
47
+ - TypeScript / Node CLI implementation is available.
48
+ - Phase 1 capabilities include dependency analysis, boundary-leak detection, evolutionary locality, score computation, reporting, and gate evaluation.
49
+ - Phase 2 entry points include external CLI extractors for `doc.extract_*`, evidence-backed term links via `trace.*`, and review log support via `review.resolve`.
50
+ - Pack boundaries for `domain_design` and `architecture_design` are already present for future expansion.
51
+
52
+ ## Quick Start
53
+
54
+ Choose the shortest path for your goal:
55
+
56
+ - First-time CLI use: [docs/guides/user-guide.md](docs/guides/user-guide.md)
57
+ - Apply `context-probe` to an existing repo: [docs/guides/repo-apply-playbook.md](docs/guides/repo-apply-playbook.md)
58
+ - Run and maintain this repository's self-measurement: [docs/operations/self-measurement-runbook.md](docs/operations/self-measurement-runbook.md)
59
+
60
+ ```bash
61
+ npm install
62
+ npm run dev -- --help
63
+ ```
64
+
65
+ If you want to try the published package entry point:
66
+
67
+ ```bash
68
+ npx context-probe --help
69
+ ```
70
+
71
+ If you want the compiled CLI as well:
72
+
73
+ ```bash
74
+ npm run build
75
+ node dist/src/cli.js --help
76
+ ```
77
+
78
+ ### Scaffold Inputs First
79
+
80
+ If you do not have a reviewed `--model` or `--constraints` file yet, scaffold one first and inspect `result.yaml`.
81
+
82
+ ```bash
83
+ npm run dev -- model.scaffold \
84
+ --repo . \
85
+ --docs-root docs
86
+ ```
87
+
88
+ ```bash
89
+ npm run dev -- constraints.scaffold \
90
+ --repo .
91
+ ```
92
+
93
+ `constraints.scaffold` also returns reviewable starter drafts for architecture inputs in `result.drafts`: `scenarioCatalog`, `topologyModel`, and `boundaryMap`. Use those drafts as the starting point for docs-first repos when you need architecture input files before the first scoring run.
94
+
95
+ Treat every scaffold output as a review-first draft, not as an authoritative input. If you are applying `context-probe` to a new repo, the stable path is:
96
+
97
+ 1. scaffold `model` and `constraints`
98
+ 2. curate the YAML you actually want to keep
99
+ 3. run a starter `score.compute`
100
+ 4. add observation snapshots where proxy-heavy metrics matter
101
+ 5. save an assessment note alongside the curated inputs
102
+
103
+ The full repo-application workflow is documented in [docs/guides/repo-apply-playbook.md](docs/guides/repo-apply-playbook.md).
104
+
105
+ ### Measure Domain Design
106
+
107
+ ```bash
108
+ npm run dev -- score.compute \
109
+ --repo . \
110
+ --model config/self-measurement/domain-model.yaml \
111
+ --policy fixtures/policies/default.yaml \
112
+ --domain domain_design
113
+ ```
114
+
115
+ Add `--docs-root docs` when you want document-derived metrics included in the run.
116
+
117
+ For large repos, `domain_design` is an authoritative run: keep the full model and docs inputs, let it finish, and read the final `status`, `result`, `unknowns`, `diagnostics`, and `provenance` instead of switching to a reduced profile just to shorten the wall time.
118
+
119
+ When you run the CLI in a TTY, or set `CONTEXT_PROBE_PROGRESS=1`, the scorer emits stage progress lines to stderr while it works. That output is advisory; the final JSON response remains the source of truth.
120
+
121
+ ### Generate a Markdown Report
122
+
123
+ ```bash
124
+ npm run dev -- report.generate \
125
+ --repo . \
126
+ --model config/self-measurement/domain-model.yaml \
127
+ --policy fixtures/policies/default.yaml \
128
+ --domain domain_design \
129
+ --format md
130
+ ```
131
+
132
+ ### Measure Architecture Design
133
+
134
+ ```bash
135
+ npm run dev -- score.compute \
136
+ --repo . \
137
+ --constraints config/self-measurement/architecture-constraints.yaml \
138
+ --policy fixtures/policies/default.yaml \
139
+ --domain architecture_design
140
+ ```
141
+
142
+ For architecture runs, `--constraints` is required instead of `--model`.
143
+
144
+ If you want self-measurement with fewer proxy fallbacks in `QSF`, `TIS`, `OAS`, and `EES`, pass the reviewed supporting inputs from `config/self-measurement/` as well.
145
+
146
+ Refresh the measured and derived architecture snapshots before a self-measurement run:
147
+
148
+ ```bash
149
+ npm run self:architecture:refresh
150
+ ```
151
+
152
+ Capture the intentional `IPS` contract baseline separately:
153
+
154
+ ```bash
155
+ npm run self:architecture:baseline
156
+ ```
157
+
158
+ Audit freshness drift without rewriting snapshots:
159
+
160
+ ```bash
161
+ npm run self:architecture:audit
162
+ ```
163
+
164
+ Run the CI-shaped local check that combines the advisory freshness audit with a score smoke:
165
+
166
+ ```bash
167
+ npm run self:architecture:check
168
+ ```
169
+
170
+ For release-time validation and packaging, use [docs/operations/release-preflight.md](docs/operations/release-preflight.md).
171
+
172
+ ```bash
173
+ npm run dev -- score.compute \
174
+ --domain architecture_design \
175
+ --repo . \
176
+ --constraints config/self-measurement/architecture-constraints.yaml \
177
+ --complexity-export config/self-measurement/architecture-complexity-export.yaml \
178
+ --boundary-map config/self-measurement/architecture-boundary-map.yaml \
179
+ --contract-baseline config/self-measurement/architecture-contract-baseline.yaml \
180
+ --scenario-catalog config/self-measurement/architecture-scenarios.yaml \
181
+ --scenario-observations config/self-measurement/architecture-scenario-observations.yaml \
182
+ --topology-model config/self-measurement/architecture-topology.yaml \
183
+ --runtime-observations config/self-measurement/architecture-runtime-observations.yaml \
184
+ --telemetry-observations config/self-measurement/architecture-telemetry-observations.yaml \
185
+ --pattern-runtime-observations config/self-measurement/architecture-pattern-runtime-observations.yaml \
186
+ --delivery-observations config/self-measurement/architecture-delivery-observations.yaml \
187
+ --policy fixtures/policies/default.yaml
188
+ ```
189
+
190
+ These are reviewable snapshots, not live collectors. `scenario-observations` comes from local benchmarks. `telemetry`, `pattern runtime`, `delivery`, and the raw `architecture-complexity-snapshot.yaml` remain curated observation inputs. `complexity-export` is a derived artifact built from that raw complexity snapshot. `npm run self:architecture:refresh` refreshes the measured `scenario-observations` and the derived `boundary-map`. `npm run self:architecture:complexity` regenerates `architecture-complexity-export.yaml` from the curated complexity snapshot. `npm run self:architecture:baseline` captures the current contract surface into a reviewable `IPS` baseline and intentionally stays outside `refresh` so baseline deltas remain meaningful. `npm run self:architecture:audit` is the CI-friendly advisory check for freshness drift, and `npm run self:architecture:check` is the local/CI operational check that runs that audit plus a score smoke.
191
+
192
+ The expected maintenance loop is:
193
+
194
+ ```bash
195
+ npm run self:architecture:refresh
196
+ npm run self:architecture:complexity
197
+ npm run self:architecture:baseline # only when you intentionally want a new IPS comparison point
198
+ npm run self:architecture:check
199
+ ```
200
+
201
+ Coverage is also part of the quality gate now:
202
+
203
+ ```bash
204
+ npm run test:coverage
205
+ ```
206
+
207
+ The operational sequence is summarized in [docs/operations/self-measurement-runbook.md](docs/operations/self-measurement-runbook.md).
208
+
209
+ For this repository specifically, some architecture unknowns are still expected limitations of a small CLI codebase: `ALR`, `FCC`, `SICR`, and `SLA` remain evidence-limited, and `PCS` remains a proxy composite. Treat those as self-measurement caveats, not immediate defects.
210
+
211
+ ### Ingest Brownfield Evidence Through Source Config
212
+
213
+ ```bash
214
+ npm run dev -- score.compute \
215
+ --domain architecture_design \
216
+ --repo fixtures/validation/scoring/qsf/repo \
217
+ --constraints fixtures/validation/scoring/qsf/constraints.yaml \
218
+ --policy fixtures/policies/default.yaml \
219
+ --contract-baseline-source fixtures/examples/architecture-sources/contract-baseline-source.file.yaml \
220
+ --scenario-catalog fixtures/validation/scoring/qsf/scenarios.yaml \
221
+ --scenario-observation-source fixtures/examples/architecture-sources/scenario-observation-source.command.yaml \
222
+ --telemetry-source fixtures/examples/architecture-sources/telemetry-source.command.yaml \
223
+ --telemetry-normalization-profile fixtures/validation/scoring/oas/raw-normalization-profile.yaml \
224
+ --complexity-source fixtures/examples/architecture-sources/complexity-source.command.yaml \
225
+ --profile layered
226
+ ```
227
+
228
+ Collector and source-config details are documented in [docs/operations/architecture-source-collectors.md](docs/operations/architecture-source-collectors.md).
229
+
230
+ ### List Unknowns That Need Human Review
231
+
232
+ ```bash
233
+ npm run dev -- review.list_unknowns \
234
+ --repo . \
235
+ --model config/self-measurement/domain-model.yaml \
236
+ --policy fixtures/policies/default.yaml \
237
+ --domain domain_design
238
+ ```
239
+
240
+ ### Advanced: Extract Glossary Terms With Codex CLI
241
+
242
+ ```bash
243
+ npm run dev -- doc.extract_glossary \
244
+ --docs-root docs \
245
+ --extractor cli \
246
+ --provider codex
247
+ ```
248
+
249
+ ### Advanced: Re-run Extraction With a Review Log
250
+
251
+ ```bash
252
+ npm run dev -- doc.extract_glossary \
253
+ --docs-root docs \
254
+ --extractor cli \
255
+ --provider claude \
256
+ --review-log path/to/review-log.json \
257
+ --apply-review-log
258
+ ```
259
+
260
+ ## Measure This Repository
261
+
262
+ Minimal self-measurement definitions are stored in [config/self-measurement/domain-model.yaml](config/self-measurement/domain-model.yaml), [config/self-measurement/architecture-constraints.yaml](config/self-measurement/architecture-constraints.yaml), [config/self-measurement/architecture-complexity-snapshot.yaml](config/self-measurement/architecture-complexity-snapshot.yaml), and [config/self-measurement/architecture-complexity-export.yaml](config/self-measurement/architecture-complexity-export.yaml).
263
+
264
+ ### 1. Enable Git History
265
+
266
+ `ELS` reads Git history. In an uninitialized environment it will fall back to warnings and low confidence. If you have not initialized Git locally yet, run:
267
+
268
+ ```bash
269
+ git init
270
+ git add .
271
+ git -c user.name="Context Probe" -c user.email="context-probe@example.com" commit -m "chore: initialize context-probe"
272
+ ```
273
+
274
+ ### 2. Compute Domain-Design Score
275
+
276
+ ```bash
277
+ npm run dev -- score.compute \
278
+ --domain domain_design \
279
+ --repo . \
280
+ --model config/self-measurement/domain-model.yaml \
281
+ --policy fixtures/policies/default.yaml
282
+ ```
283
+
284
+ ### 3. Compute Architecture-Design Score
285
+
286
+ ```bash
287
+ npm run dev -- score.compute \
288
+ --domain architecture_design \
289
+ --repo . \
290
+ --constraints config/self-measurement/architecture-constraints.yaml \
291
+ --complexity-export config/self-measurement/architecture-complexity-export.yaml \
292
+ --boundary-map config/self-measurement/architecture-boundary-map.yaml \
293
+ --scenario-catalog config/self-measurement/architecture-scenarios.yaml \
294
+ --scenario-observations config/self-measurement/architecture-scenario-observations.yaml \
295
+ --topology-model config/self-measurement/architecture-topology.yaml \
296
+ --runtime-observations config/self-measurement/architecture-runtime-observations.yaml \
297
+ --telemetry-observations config/self-measurement/architecture-telemetry-observations.yaml \
298
+ --pattern-runtime-observations config/self-measurement/architecture-pattern-runtime-observations.yaml \
299
+ --delivery-observations config/self-measurement/architecture-delivery-observations.yaml \
300
+ --policy fixtures/policies/default.yaml
301
+ ```
302
+
303
+ Without those supporting files, architecture self-measurement will still run, but many metrics fall back to neutral or proxy behavior.
304
+
305
+ ### 4. Generate a Markdown Report
306
+
307
+ ```bash
308
+ npm run dev -- report.generate \
309
+ --domain domain_design \
310
+ --repo . \
311
+ --model config/self-measurement/domain-model.yaml \
312
+ --policy fixtures/policies/default.yaml \
313
+ --format md
314
+ ```
315
+
316
+ ## Verification
317
+
318
+ ```bash
319
+ npm run check
320
+ npm test
321
+ ```
322
+
323
+ `npm test` includes extraction-quality regression checks backed by the curated golden corpus under `fixtures/validation/extraction/`. Those checks exercise the existing CLI commands such as `doc.extract_*`, `trace.link_terms`, and `review.list_unknowns` with `must_include`, `must_exclude`, `must_link_to_code`, and `max_review_items`.
@@ -0,0 +1,2 @@
1
+ import type { ContractDeclarationStats } from "./architecture-contract-types.js";
2
+ export declare function analyzeDartContractDeclarations(pathValue: string, sourceText: string): ContractDeclarationStats;
@@ -0,0 +1,129 @@
1
+ import { createContractSymbol, uniqueSymbols } from "./architecture-contract-declarations-shared.js";
2
+ const DART_CLASS_PATTERN = /^(?:(?:abstract|base|interface|final|sealed)\s+)*class\s+([A-Za-z_]\w*)\b/;
3
+ const DART_MIXIN_CLASS_PATTERN = /^(?:(?:base|abstract)\s+)*mixin\s+class\s+([A-Za-z_]\w*)\b/;
4
+ const DART_ENUM_PATTERN = /^enum\s+([A-Za-z_]\w*)\b/;
5
+ const DART_TYPEDEF_PATTERN = /^typedef\s+([A-Za-z_]\w*)\b/;
6
+ const DART_EXTENSION_TYPE_PATTERN = /^extension\s+type\s+([A-Za-z_]\w*)\b/;
7
+ const DART_FUNCTION_PATTERN = /^(?:external\s+)?(?:[A-Za-z_<>[\]?., ]+\s+)?([A-Za-z_]\w*)\s*\([^;]*\)\s*(?:=>|\{)/;
8
+ const DART_VALUE_PATTERN = /^(?:late\s+final|late|final|const|var|[A-Za-z_<>[\]?., ]+)\s+([A-Za-z_]\w*)\s*=/;
9
+ function stripComments(sourceText) {
10
+ return sourceText.replace(/\/\*[\s\S]*?\*\//g, "").replace(/\/\/.*$/gm, "");
11
+ }
12
+ function countBraceDelta(line) {
13
+ const opens = line.match(/\{/g)?.length ?? 0;
14
+ const closes = line.match(/\}/g)?.length ?? 0;
15
+ return opens - closes;
16
+ }
17
+ function isPublicDartSymbol(symbol) {
18
+ return Boolean(symbol && !symbol.startsWith("_"));
19
+ }
20
+ function collectDartTopLevelLines(sourceText) {
21
+ const lines = stripComments(sourceText).split("\n");
22
+ const topLevelLines = [];
23
+ let braceDepth = 0;
24
+ for (const line of lines) {
25
+ const trimmed = line.trim();
26
+ if (braceDepth === 0 && trimmed.length > 0 && !trimmed.startsWith("@")) {
27
+ topLevelLines.push(trimmed);
28
+ }
29
+ braceDepth = Math.max(0, braceDepth + countBraceDelta(line));
30
+ }
31
+ return topLevelLines;
32
+ }
33
+ export function analyzeDartContractDeclarations(pathValue, sourceText) {
34
+ const findings = [];
35
+ const symbols = [];
36
+ const topLevelLines = collectDartTopLevelLines(sourceText);
37
+ let exportCount = 0;
38
+ let stableExports = 0;
39
+ let riskyExports = 0;
40
+ let anyExports = 0;
41
+ for (const line of topLevelLines) {
42
+ let symbol;
43
+ let kind;
44
+ let stable = false;
45
+ let risky = false;
46
+ symbol = DART_MIXIN_CLASS_PATTERN.exec(line)?.[1];
47
+ if (isPublicDartSymbol(symbol)) {
48
+ stable = true;
49
+ kind = "class";
50
+ }
51
+ else {
52
+ symbol = DART_CLASS_PATTERN.exec(line)?.[1];
53
+ if (isPublicDartSymbol(symbol)) {
54
+ stable = true;
55
+ kind = "class";
56
+ }
57
+ else {
58
+ symbol = DART_ENUM_PATTERN.exec(line)?.[1];
59
+ if (isPublicDartSymbol(symbol)) {
60
+ stable = true;
61
+ kind = "enum";
62
+ }
63
+ else {
64
+ symbol = DART_TYPEDEF_PATTERN.exec(line)?.[1];
65
+ if (isPublicDartSymbol(symbol)) {
66
+ stable = true;
67
+ kind = "type_alias";
68
+ }
69
+ else {
70
+ symbol = DART_EXTENSION_TYPE_PATTERN.exec(line)?.[1];
71
+ if (isPublicDartSymbol(symbol)) {
72
+ stable = true;
73
+ kind = "type_alias";
74
+ }
75
+ else {
76
+ symbol = DART_FUNCTION_PATTERN.exec(line)?.[1] ?? DART_VALUE_PATTERN.exec(line)?.[1];
77
+ if (isPublicDartSymbol(symbol)) {
78
+ risky = true;
79
+ kind = DART_FUNCTION_PATTERN.test(line) ? "function" : "value";
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ if ((!stable && !risky) || !symbol || !kind) {
87
+ continue;
88
+ }
89
+ exportCount += 1;
90
+ const loose = /\bdynamic\b/.test(line);
91
+ if (stable) {
92
+ stableExports += 1;
93
+ }
94
+ if (risky) {
95
+ riskyExports += 1;
96
+ findings.push({
97
+ kind: "contract_backward_compatibility_risk",
98
+ path: pathValue,
99
+ confidence: 0.84,
100
+ note: `${pathValue} contains a public contract derived from a function or value.`,
101
+ ...(symbol ? { symbol } : {}),
102
+ });
103
+ }
104
+ if (loose) {
105
+ anyExports += 1;
106
+ findings.push({
107
+ kind: "breaking_change_risk",
108
+ path: pathValue,
109
+ confidence: 0.88,
110
+ note: `${pathValue} contains 'dynamic' in a public contract.`,
111
+ ...(symbol ? { symbol } : {}),
112
+ });
113
+ }
114
+ symbols.push(createContractSymbol({
115
+ name: symbol,
116
+ kind,
117
+ stability: stable ? "stable" : "risky",
118
+ loose,
119
+ }));
120
+ }
121
+ return {
122
+ exportCount,
123
+ stableExports,
124
+ riskyExports,
125
+ anyExports,
126
+ symbols: uniqueSymbols(symbols),
127
+ findings,
128
+ };
129
+ }
@@ -0,0 +1,2 @@
1
+ import type { ContractDeclarationStats } from "./architecture-contract-types.js";
2
+ export declare function analyzeEcmaContractDeclarations(pathValue: string, sourceText: string): ContractDeclarationStats;
@@ -0,0 +1,89 @@
1
+ import ts from "typescript";
2
+ import { declarationContainsAny, getDeclarationName, getEcmaExportKind, getRiskyExportKind, getVariableDeclarationNames, hasExportModifier, isRiskyEcmaExport, isStableEcmaExport, } from "./architecture-contract-declarations-ecma-shared.js";
3
+ import { createContractSymbol, uniqueSymbols } from "./architecture-contract-declarations-shared.js";
4
+ export function analyzeEcmaContractDeclarations(pathValue, sourceText) {
5
+ const sourceFile = ts.createSourceFile(pathValue, sourceText, ts.ScriptTarget.ES2022, true);
6
+ const findings = [];
7
+ const symbols = [];
8
+ let exportCount = 0;
9
+ let stableExports = 0;
10
+ let riskyExports = 0;
11
+ let anyExports = 0;
12
+ sourceFile.forEachChild((node) => {
13
+ if (!hasExportModifier(node) && !ts.isExportAssignment(node)) {
14
+ return;
15
+ }
16
+ const loose = declarationContainsAny(node, sourceFile);
17
+ if (loose) {
18
+ anyExports += 1;
19
+ }
20
+ if (isStableEcmaExport(node)) {
21
+ exportCount += 1;
22
+ stableExports += 1;
23
+ const symbol = getDeclarationName(node);
24
+ const kind = getEcmaExportKind(node);
25
+ if (symbol) {
26
+ symbols.push(createContractSymbol({
27
+ name: symbol,
28
+ kind,
29
+ stability: "stable",
30
+ loose,
31
+ }));
32
+ }
33
+ if (loose) {
34
+ findings.push({
35
+ kind: "breaking_change_risk",
36
+ path: pathValue,
37
+ confidence: 0.88,
38
+ note: `${pathValue} contains 'any' in a public contract.`,
39
+ ...(symbol ? { symbol } : {}),
40
+ });
41
+ }
42
+ return;
43
+ }
44
+ if (!isRiskyEcmaExport(node)) {
45
+ return;
46
+ }
47
+ exportCount += 1;
48
+ riskyExports += 1;
49
+ const symbolNames = ts.isVariableStatement(node)
50
+ ? getVariableDeclarationNames(node)
51
+ : [getDeclarationName(node) ?? (ts.isExportAssignment(node) ? "default" : "default")];
52
+ const kind = getRiskyExportKind(node);
53
+ if (symbolNames.length === 0) {
54
+ symbolNames.push("default");
55
+ }
56
+ for (const symbol of symbolNames) {
57
+ symbols.push(createContractSymbol({
58
+ name: symbol,
59
+ kind,
60
+ stability: "risky",
61
+ loose,
62
+ }));
63
+ findings.push({
64
+ kind: "contract_backward_compatibility_risk",
65
+ path: pathValue,
66
+ confidence: 0.86,
67
+ note: `${pathValue} exports a public contract outside interface/type/enum declarations.`,
68
+ ...(symbol ? { symbol } : {}),
69
+ });
70
+ if (loose) {
71
+ findings.push({
72
+ kind: "breaking_change_risk",
73
+ path: pathValue,
74
+ confidence: 0.88,
75
+ note: `${pathValue} contains 'any' in a public contract.`,
76
+ ...(symbol ? { symbol } : {}),
77
+ });
78
+ }
79
+ }
80
+ });
81
+ return {
82
+ exportCount,
83
+ stableExports,
84
+ riskyExports,
85
+ anyExports,
86
+ symbols: uniqueSymbols(symbols),
87
+ findings,
88
+ };
89
+ }
@@ -0,0 +1,10 @@
1
+ import ts from "typescript";
2
+ import type { ArchitectureContractBaselineSymbolKind } from "../core/contracts.js";
3
+ export declare function hasExportModifier(node: ts.Node): boolean;
4
+ export declare function getDeclarationName(node: ts.Node): string | undefined;
5
+ export declare function isStableEcmaExport(node: ts.Node): boolean;
6
+ export declare function isRiskyEcmaExport(node: ts.Node): boolean;
7
+ export declare function declarationContainsAny(node: ts.Node, sourceFile: ts.SourceFile): boolean;
8
+ export declare function getVariableDeclarationNames(node: ts.VariableStatement): string[];
9
+ export declare function getEcmaExportKind(node: ts.Node): ArchitectureContractBaselineSymbolKind;
10
+ export declare function getRiskyExportKind(node: ts.Node): ArchitectureContractBaselineSymbolKind;
@@ -0,0 +1,56 @@
1
+ import ts from "typescript";
2
+ export function hasExportModifier(node) {
3
+ if (!ts.canHaveModifiers(node)) {
4
+ return false;
5
+ }
6
+ const modifiers = ts.getModifiers(node);
7
+ return Boolean(modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword));
8
+ }
9
+ export function getDeclarationName(node) {
10
+ const namedNode = node;
11
+ if (namedNode.name && ts.isIdentifier(namedNode.name)) {
12
+ return namedNode.name.text;
13
+ }
14
+ return undefined;
15
+ }
16
+ export function isStableEcmaExport(node) {
17
+ return ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node) || ts.isEnumDeclaration(node);
18
+ }
19
+ export function isRiskyEcmaExport(node) {
20
+ return (ts.isClassDeclaration(node) ||
21
+ ts.isFunctionDeclaration(node) ||
22
+ ts.isVariableStatement(node) ||
23
+ ts.isExportAssignment(node));
24
+ }
25
+ export function declarationContainsAny(node, sourceFile) {
26
+ return /\bany\b/.test(node.getText(sourceFile));
27
+ }
28
+ export function getVariableDeclarationNames(node) {
29
+ return node.declarationList.declarations.flatMap((declaration) => {
30
+ if (ts.isIdentifier(declaration.name)) {
31
+ return [declaration.name.text];
32
+ }
33
+ return [];
34
+ });
35
+ }
36
+ export function getEcmaExportKind(node) {
37
+ if (ts.isInterfaceDeclaration(node)) {
38
+ return "interface";
39
+ }
40
+ if (ts.isTypeAliasDeclaration(node)) {
41
+ return "type_alias";
42
+ }
43
+ return "enum";
44
+ }
45
+ export function getRiskyExportKind(node) {
46
+ if (ts.isClassDeclaration(node)) {
47
+ return "class";
48
+ }
49
+ if (ts.isFunctionDeclaration(node)) {
50
+ return "function";
51
+ }
52
+ if (ts.isVariableStatement(node)) {
53
+ return "value";
54
+ }
55
+ return "default_export";
56
+ }
@@ -0,0 +1 @@
1
+ export { analyzeEcmaContractDeclarations } from "./architecture-contract-declarations-ecma-core.js";
@@ -0,0 +1 @@
1
+ export { analyzeEcmaContractDeclarations } from "./architecture-contract-declarations-ecma-core.js";
@@ -0,0 +1,8 @@
1
+ import type { ArchitectureContractBaselineSymbol, ArchitectureContractBaselineSymbolKind } from "../core/contracts.js";
2
+ export declare function createContractSymbol(input: {
3
+ name: string;
4
+ kind: ArchitectureContractBaselineSymbolKind;
5
+ stability: "stable" | "risky";
6
+ loose: boolean;
7
+ }): ArchitectureContractBaselineSymbol;
8
+ export declare function uniqueSymbols(symbols: ArchitectureContractBaselineSymbol[]): ArchitectureContractBaselineSymbol[];
@@ -0,0 +1,21 @@
1
+ export function createContractSymbol(input) {
2
+ return {
3
+ name: input.name,
4
+ kind: input.kind,
5
+ stability: input.stability,
6
+ looseness: input.loose ? "loose" : "strict",
7
+ };
8
+ }
9
+ export function uniqueSymbols(symbols) {
10
+ const seen = new Set();
11
+ const results = [];
12
+ for (const symbol of symbols) {
13
+ const key = `${symbol.name}:${symbol.kind}:${symbol.stability}:${symbol.looseness}`;
14
+ if (seen.has(key)) {
15
+ continue;
16
+ }
17
+ seen.add(key);
18
+ results.push(symbol);
19
+ }
20
+ return results;
21
+ }
@@ -0,0 +1,2 @@
1
+ export { analyzeDartContractDeclarations } from "./architecture-contract-declarations-dart.js";
2
+ export { analyzeEcmaContractDeclarations } from "./architecture-contract-declarations-ecma.js";
@@ -0,0 +1,2 @@
1
+ export { analyzeDartContractDeclarations } from "./architecture-contract-declarations-dart.js";
2
+ export { analyzeEcmaContractDeclarations } from "./architecture-contract-declarations-ecma.js";
@@ -0,0 +1,8 @@
1
+ import type { ArchitectureConstraints, ArchitectureContractBaseline } from "../core/contracts.js";
2
+ import type { BaselineComparisonSummary } from "./architecture-contract-score-shared.js";
3
+ import type { ContractFileStats } from "./architecture-contract-stats.js";
4
+ export declare function analyzeBaselineComparison(options: {
5
+ baseline: ArchitectureContractBaseline;
6
+ currentStats: ContractFileStats[];
7
+ constraints: ArchitectureConstraints;
8
+ }): BaselineComparisonSummary | undefined;