I actually love plain text in general, and if this meets your needs, there’s no need to overcomplicate things.
The tradeoff is the greater feature set of ics comes with a necessarily more complicated format. We can see complexity creeping back in to this format as you scroll towards the bottom and tags are introduced, and there’s still a lot missing. With the way it is now, basic things we take for granted like recurring meetings are not handled. You’d need a separate program to insert/delete lines and do the date math if the format isn’t going to change, or more likely a special event type. If you add a recurring event, then you’d likely end up revisiting the one line per day idea.
or if I could just inject and print my own calendar events to and from the `cal` command and send that through an ical parser--item added via a plain text calendar, added to ical, and immediately updated event on my phone. It's been on my mind to just write something like this as a side project forever but...
ics is already plain text.