over long periods of time, checklists are the biggest thing, so the LLM can track whats already done and whats left. after a compact, it can pull the relevant stuff back up and make progress.
having some level or hierarchy is also useful - requirements, high level designs, low level designs, etc