Fix the dashboard stat-cache TTL timing from v5.11.89.
The memoized project-transcript scan stamped its cache timestamp before the walk. On a large cold history the walk can exceed the 30s TTL, so the cache was born already-expired and the next lookup re-walked, making the memoization a no-op in the cold case it targets. Now stamped with time.monotonic() after the walk completes. Verified: repeat scans hit the cache. Thanks to an independent review for catching it.