I have found a need for a new feature which is to be able to view draft posts in the rendered page. I am unsure how I would want to do this, i think some tag based behavior makes a lot of sense... but I don't have any tag logic implemented yet.
Since there is not really much of a drawback to inundating the page with unfinished barely started draft entries I think i will make this a separate dev only view mode, and save tag based logic for building later for if i want to share an unpublished draft behind auth for some particular audience.
A few days later: I also am planning to add another feature to draft handling so that blog dirs can be defined with draft in their name and that will cause all pages contained within to also be treated as draft.
I think I also want another functionality to remove from s3 any content that was published but then later made into a draft. To unpublish it, more or less (of course with no guarantees as anything open to the internet for any time should be considered as having been leaked).
This second requirement is super nebulous and has risk of getting overcomplicated if i try to automate it, though. For now it is a manual operation to remove specific items from s3 in a separate process, which I think is very acceptable still. The way my sync process works right now is to sync the files dir from s3 to local dev stage files dir first and then sync the stage dir to s3. This way, any locally deleted files will be restored from s3 which streamlines development setup.
I think the improvement I will make to it now is to work out a sane way to force the non-files dirs to sync with deletion over into s3. The guarantee I have currently is that the other folders' content will all get fully regenerated with every build.