An empty list is three different moments: nothing here yet, nothing matches, and nothing left to do. My rule is that each one says why it's empty and offers the next step.
The first empty screen is onboarding. Say what belongs here and why, give one primary action, and offer a way to see it populated without creating anything real.
No projects yet
A project groups the services you deploy together, so their logs and alerts live in one place.
Repeat the query back, and if a filter is hiding a match, say so and offer to lift it. The reader shouldn't have to work out which of their own choices emptied the list.
No open issues match “secret”
1 archived issue matches.
Finishing is the goal, so it earns its own state. Acknowledge it, don't reuse the first-run copy, and keep the last action undoable in case the finish was a misclick.