The 10 GB Actions cache budget was permanently full (9.9 GB): every push
saves a fresh ~1.2 GB out/ snapshot per arch and superseded generations
were only removed by the 7-day age cleanup. LRU eviction was silently
dropping sccache objects and even the freshest build caches (observed:
a run finding no telegram-build cache at all and rebuilding cold). Now
each successful build deletes older generations of its own scope right
after saving, keeping only the newest entry per arch + lto/nolto pair.
mtproto/proxy/status.h is edited often and used to reach almost every
TU through mtp_instance.h -> sender.h / facade.h / main_account.h, so
each edit recompiled ~600 files. Forward-declare ProxyConnectionStatus
and ConnectionNotice instead; now a status.h edit recompiles only the
~25 real consumers.