Prepare the dough. Cut the butter and cream cheese into tablespoon-sized pats and let soften for 10-15 minutes. Pulse the flour and salt in the food processor, and then add the semi-softened butter and cream cheese and pulse several times, until the mixture has formed large crumbly chunks (this can also be done very easily with a pastry knife, if you've got a sleeping baby and don't want to use the food processor). Gather the dough together into two large balls, flatten into disks and wrap in plastic wrap. Refrigerate for two hours or up to overnight. While the dough is chilling, prepare the filling. Heat 3 tablespoons of olive oil in a large skillet over medium heat until shimmery. Toss in the chopped shallots, sage, and aleppo and cook for 2 minutes. Stir in the pumpkin puree and cook for 5 minutes more, to help evaporate some of the water in the pumpkin. Season with two healthy pinches of kosher salt and freshly ground pepper. Remove from the heat to cool down (the filling should not be hot when you spread it on the dough). Preheat the oven to 350 degrees. When the dough has chilled, roll each disk into a 12" circle on a well-floured board. Make sure you flour the underside of the dough often, so that it doesn't stick. Spread half of the cooled pumpkin filling onto each disk, and then distribute half of the finely chopped walnuts over each disk. Using a bench scraper (or knife, or pizza cutter), cut the dough into 16 triangles. Roll up each triangle, starting from the base, to form a crescent, and place on a parchment paper-lined cookie sheet. Beat the egg with a teaspoon of water and brush lightly onto the rugelach. Top each rugelach with flaky sea salt or finely grated parmesan (I prefer the sea salt, my husband prefers parmesan, so I make half of each kind). Bake for 25 minute.