These would also be nice core fields to implement along with the status field.
Agreed! I very often implement them manually, which is not exactly a difficult task, but if they were core that would be very nice!
Something like publishable?
Not sure if it is really needed. It's quite easy to implement normally (just a datetime field + a scope). But well if it's not a lot of work to add in the core why not.
@frednwt publishable would be more along the lines of the status roadmap feature: https://pyrocms.com/forum/channels/roadmap/draftablecore-status-utilities
Defining statuses and which are "publicly visible" - then you can easily write your own logic around it like "needs review" or whatever.
This would be like - status is enabled but this page (maybe for a fundraiser or event) or whatever doesn't go live until next monday. So set publishable for that time and it'll automatically be available. Kinda like how posts module let's you schedule posts. We've often woulda liked it for pages and other things. That way you don't have to remember to come back and make it live for example.