AI jobs and what happens to drafts
Pages that draft with AI show an "AI jobs" panel: the invoice agent page, each pitch deck page, and the Day page (as "AI labels"). The panel lists your recent jobs.
What each row shows
- Job: what it was for (Invoice words, Payment reminder, Pitch deck, Timesheet labels) and its number.
- Status: Queued, Running, Done, Failed or Cancelled.
- Model: the model that answered, as the Claude CLI reported it.
- Tokens and Cost (CLI): what the Claude CLI reported for the job.
- Took: how long it ran.
- Your call: what happened to the draft. Waiting for you, Accepted, Edited or Rejected.
Above the table, a line says where Claude is running ("Claude runs on your computer", with the computer's name and claude version), or that jobs are waiting.
Template first, AI words later
Pages can't wait minutes for your computer, so every draft starts with a template written by code. When the runner's answer comes back, Cardinal checks its shape and writes it onto the draft, but only if the draft hasn't moved on:
- an issued invoice is never rewritten
- an edited slide in a deck is kept
- a timesheet draft you already accepted, edited or rejected keeps what it has
How decisions are counted
- Invoices: accepted means issued untouched, edited means issued after changes, rejected means the draft was deleted.
- Payment reminders: copying the reminder counts as accepted.
- Timesheet drafts: Accept, "Edit, then save" and Reject.
These feed the agent scorecard on the invoice agent page.
Numbers in AI text
Amounts in invoice emails and the price slide of a pitch deck are written by code from the document, never by Claude.