Workspaces
A workspace is a company: its people, projects, tasks, and everyone's logs. Personal accounts are untouched — a user with no workspace sees exactly the product they had before.
Creating one
- 1
Create the workspace
Create a workspace from the sidebar or the pricing page. Pick a name and a headcount; the headcount picks the plan. Solo is free and stays free.
- 2
Invite people
People → Invite takes an email and a role. The invitation is emailed if the deployment has email configured; otherwise you are handed a link to send yourself. Accepting requires the signed-in account's email to match the invited address, so a forwarded link cannot seat someone else. Seat limits are enforced in the database under a lock — two people cannot both take the last seat.
- 3
Create a project and assign tasks
A project has a key (
DEV), names the repositories its work happens in, and holds a board of tasks. Task keys (DEV-42) are issued by the database, so two people creating tasks at once cannot collide. Or import a backlog from Jira, Linear or GitHub Issues instead of retyping it.
Roles
| Role | Can |
|---|---|
| Owner | Everything below, plus appointing other owners and managing billing |
| Admin | Manage members, plan and billing, settings, repository scope |
| Manager | Read every member's entries, the report, and manage projects and tasks |
| Member | Their own log, the tasks assigned to them, and the projects they're in |
These are per-workspace and separate from the operator role of whoever runs the service. Hiding a link in the UI is a courtesy; every route re-checks the role server-side, and the database re-checks it again at the table.
How a commit links to a task
Deterministic first, model second, person last — and each is recorded as which:
| Link source | Meaning |
|---|---|
auto | The commit message or branch name contained the task key. Exact, free, no tokens. |
ai | The model attributed the commit to a task it was told about. Shown as inferred. |
manual | A person attached it, or approved the model's proposal in the review dialog. |
Only unmatched commits go to the model, with the certain matches passed in as established fact. A key the model returns that is not a real assigned task is discarded. Task detail shows the link read backwards: which days moved this task, and for how many hours.
The report
Reports (manager and above) lists every member's logged days for a range, with hours, their provenance, and the tasks each day advanced, exportable as CSV. Entries are scoped by the workspace stamped on them at write time, not by the current roster: when someone leaves, the company keeps the record of work done while they were employed, and nothing they log afterwards is visible to it.
Seats and billing
Paid plans are per seat per month, with a shared pool of AI credits. Members are never removed when a plan shrinks; the workspace simply cannot add more. Downgrading to the free tier cancels at the end of the paid period. Plans that are negotiated or invoiced are set by the operator, not self-serve — there is no free-upgrade path.