Agentic coding is just a convention you maintain by reading every diff, the kind that decays when you're tired. So vibe coding is the failure mode you have to plan for, not a separate practice.
I've hit the same "pack state into a tiny string" problem four times now. Here's the library that came out of it, and a detour on why kotlinx.serialization is so cool to build on.