1. Preheat the oven to 375F. Bring a large pot of generously salted water to a boil. Boil the shells according to package directions, then drain and toss in olive oil. Set aside.
2. Make the filling: Meanwhile, in a large pan over medium heat, melt 1 Tbsp butter then add the chopped artichokes. Cook, stirring, for 2-3 mins, then add the garlic, oregano, 1/2 tsp salt, and 1/4 tsp pepper. Cook for 1 min, then add the spinach. Cook for ~2 mins until the spinach is bright green and wilted. Transfer to a medium bowl and add the egg, ricotta, mozzarella, and 1/4 cup grated parmesan. Mix to combine.
3. Make the sauce: In a large pot over medium heat, melt 3 Tbsp butter, then whisk in the flour. Cook, whisking constantly, for 1 min. Slowly add the whole milk, ~1 cup at a time, whisking well after each addition to fully incorporate before adding more. Once all the milk is in, whisk in 1 tsp salt, 1/4 tsp black pepper, nutmeg, cayenne, and 1/4 cup parmesan. Increase the heat to medium-high and cook until the sauce bubbles and thickens enough to coat the back of a spoon. Turn off the heat.
4. Pour the sauce into a 9x13” baking dish. Stuff the shells with the filling using a spoon and place them seam side up in the baking dish. Sprinkle with 1/4 cup grated parmesan and cover with foil.
5. Bake covered for 20 mins, then remove the foil and bake for 10-15 more mins until bubbly and golden brown. Serve the shells with the creamy sauce and enjoy!