The owner's Mac collector and /hours
The workspace owner's tracker pages (Overview, Day, Projects, Clients, Heatmap, Trends) are filled by a collector on the owner's Mac. It reads Claude Code's session history on that Mac and sends the numbers to Cardinal every hour. Settings lists each computer and when it last synced, with "stale" when a sync is overdue.
The sync key
The collector signs in with a sync key. Settings, Sync key shows which key is in use and lets you rotate it:
- Choose to keep the old key for 24 hours (the default) or revoke it now, then confirm.
- The new key is shown once. Copy it.
- On the Mac, run
pbpaste | cardinal set-key.
Rotating again while an old key is still kept stops the old key at once; the page warns you.
Estimates
After each sync, sessions that ended at least an hour ago get an estimate of how long the work would take without AI. The collector runs your own claude -p with the haiku model for this, and sends only the estimate, never the session text. These estimates add up to the Traditional build figure on each project.
/hours in Claude Code
The /hours command works inside Claude Code on the owner's Mac. Only you run it; Claude can't call it by itself.
/hours status: today, this week and all time: your hours, AI hours, Claude cost in rands, effective rate against your floor, and traditional-build hours./hours add 1h30 call: adds time ending now, with an optional kind, project and note. Durations like1h,30m,1h30or1.5hwork./hours label Rleaf client-billable: labels the project you are in./hours estimate 120: sets the traditional-build hours for this project./hours sync: syncs now, without estimating.
When Cardinal can't be reached, status shows the last answer marked offline, and changes say nothing was saved.