the SessionStart route works, and it is less plumbing than you make it sound: the matcher is literally compact, sitting alongside startup, resume and clear, so it is a one line matcher rather than a mechanism you have to build. worth separating that from PreCompact, which is what people reach for first and which cannot do this job. PreCompact fires before the compaction and carries a trigger of manual or auto plus custom instructions, so it can shape what survives but has no way to re-read anything afterwards. the restore has to happen on the way back in. and agreed on /context over anyone's writeup, mine included. it is the fastest way to see what your own tiers actually did.
