Jobs are how tvaras ships: dbt models, BI configs, connector code, docs. Start from a message or a ticket, review a plan, watch the diff grow next to the conversation, merge when you are happy. Desktop or phone — same workbench.
A chat answers a question. A playground chat builds an app. A job changes your repository — on a dedicated branch and working copy, with a status, a goal and a workbench that shows every edit as it happens. It is still a chat: you talk, it works. But what it produces is a reviewable, shippable change, not a paragraph.
The example below starts from a Linear task. A job started from a plain message skips straight to the plan.
New Chat ▸ Job from a task opens the picker. Paste a URL or key, or search by title — Linear, ClickUp and Jira work the same way. Press Start job: the task is moved to your team's "in progress" status (whatever it is called — Doing, In Dev, WIP; the wrapper understands statuses by meaning) and a comment links back to the job.
Add customer_ltv to dim_customer
Refund events missing from stg_stripe
Weekly churn report → Slack
Add customer_ltv to dim_customer
Finance wants lifetime value per customer in the BI explore. Sum of net revenue from fct_orders, refunds excluded. Add a test.
“Net of refunds, please — same as the finance sheet.” — M. Kaur
The assistant reads the task, explores the repository and proposes a goal statement, acceptance criteria, an optional verify command and a short approach — as a card in the chat. Accept it, edit the goal or criteria first, or ask for changes with a comment. Accepted plans become the job's goal and the work starts.
Expose customer_ltv (net of refunds) on dim_customer and in the Lightdash explore.
dbt build -s dim_customer+
Add CTE in dim_customer.sql · schema.yml tests · lightdash meta · run build
Changes shows every file that differs from the base branch with a real diff — keep or revert individual hunks, or ask about one (the location rides along with your message). Checks runs the repository's configured commands: dbt build, tests, lint. Criteria get ticked as they are met; autopilot continues until all of them are, within the cycle and cost budget you set.
Move the job to In review (or let it happen when the goal is met). The workbench freezes a snapshot: files, commits, check results, goal progress. Approve to merge into the base branch, or open a PR if the repository is set up that way; request changes and they go straight to the assistant. The linked task follows: review → "QA", done → "Done".
Every file that differs from the base branch, with a real diff. Keep or revert hunks. Ask the assistant about a hunk — the diff location is attached to your message.
Search and browse the repository, open a file in the editor, save. The assistant sees your edit on its next step.
Commit with an AI-drafted message, push, update from the base branch, resolve conflicts, merge or open a pull request.
Run the repository's configured commands — tests, dbt build, lint — and read the log. The assistant can run them too, and the verify command gates the goal.
Open jobs sit in a strip above the conversation. Click a tab, use Alt+←/→ and Alt+1…9 — or swipe on a phone. Each job carries a status (Open, In progress, In review, Done — admins can rename and extend these) and a live runtime indicator: working, idle, needs you, error. Jobs that need you are listed in the Inbox on the board and trigger notifications.
Open
4
In progress
2
Needs you
1
In review
1
Swipe between jobs; the bottom bar switches Chat · Changes · Files · Git. Diff and editor go full-screen, and the editor gets a key bar (tab, undo, brackets, save) above the keyboard. Turn on push notifications from the Jobs board to be told when a job needs you.
See the mobile workbenchlightdash: expose Lifetime value dimension on Customers
Jobs ship with every tvaras instance. Self-hosted, on your LLM.