If you can explain how to make compaction not suck in opencode or Kilo Code, I would love to know how. I am really trying to make use of other harnesses but that's a major sticking point.
Then you can let it run, and when it stops, point a fresh session to the ledger to pick up the work from where the previous one left off.
You can get more fancy by using something like GitHub issues for coordination too and have multiple sessions create issues and epics and others to work on that in isolated worktrees, but the spec-plan-ledger approach usually works great for small to medium large projects.