[codex] Add IDE session tracking - #9
Conversation
|
Thanks for taking the time to build this, and apologies for the slow review. The code is clean and the branch builds, but I don't think manual start/stop sessions can feed the leaderboard in their current form, and that's most of the PR's value proposition, so I want to be upfront about it rather than nitpick details. The problem is duration. Everything rests on the rule that idle gaps over 30 minutes don't count. IDE sessions here are pure wall clock and exempt from reapOrphanedSessions, so a forgotten vibe ide start runs forever. I tested it: leave a session 72 hours, make one trivial commit, vibe ide stop. Result is a 72-hour "progressed" session, submitted to the leaderboard. No bad intent needed, just forgetting to run stop. Fixing that means idle detection for a session no process is watching, which is a daemon. Too big to hang off this PR. And #14 has since taken the direction I want for GUI tools: the tool's own session hooks. If you want to rework it, local-only is mergeable: IDE sessions show in vibe status / log / share but never submit. A revision would also need the renderIdeStatus strings moved into render.ts and snapshot() shared with wrap.ts instead of duplicated. Thanks for the work. The use case is real, it just can't come in on the honor system. |
Summary
Adds manual IDE session tracking for GUI-first tools like Cursor.
vibe ide start [tool],vibe ide stop [tool], andvibe ide statusstatus,log, andshareso stats show up alongside wrapped CLI sessionsImpact
Users can now track Cursor or another IDE without needing a shell wrapper around a long-running CLI process. Completed IDE sessions are normal Vibetime sessions, so they appear in local stats, share cards, and the opt-in leaderboard.
Validation
npm run buildvibe ide start cursor,vibe ide status, andvibe ide stop cursorin a temporary HOME and temporary git repo