Timesheets
Your week, with the empty days showing. Timesheets, in the sidebar.
Two places to write time down
Time has always been loggable on an issue, and that is still the right place when you are looking at one: you have just finished something, the issue is open in front of you, you write down what it took.
The timesheet is the other half. It answers a question the issue cannot — what have I written down this week, and what is missing — which is the question somebody actually has on a Friday afternoon with four days to remember at once.
Both write the same rows. Neither is a second system.
The grid is the argument
Seven columns, one per day, whether or not anything was logged on them.
An empty Wednesday is the most important thing this page displays. A list of what was recorded cannot show what was not, and what was not is exactly what somebody opened the page to find.
Each day shows what you recorded against what was expected of you:
mon 3 4h of 8h
tue 4 8h of 8h
wed 5 3h 30m of 8h
sat 8 —
The heading carries the week number after the dates — 3–9 August 2026 (week 32)
— because plenty of teams schedule, invoice and talk in week numbers, and "week
32" is something people say out loud in a way "3 August" is not.
Inside a day, durations are in hours. 1d of 8h is one quantity written twice.
Where "expected" comes from
The same weekly rate the Gantt and cycles use — weekly_hours on the membership
— divided across the working week. Somebody on twenty hours is expected to record
four a day, not eight.
Deliberately borrowed rather than restated. A second copy of that arithmetic is a second thing that can drift out of step with the plan it is being compared against.
Weekends expect nothing, and a month is measured by its own working days rather than by four weeks.
Corrections
Edit or remove any entry you typed. Moving an entry from one issue to another is a correction, not a new record — both issues' totals are repaired, the one losing the hours and the one gaining them.
Totals are recalculated from the rows rather than adjusted by a difference. A sum that went wrong once stays wrong forever under a difference, and there is no way back.
Whose hours are whose
An agent's hours appear and cannot be edited. The run is in the timeline with its own duration; editing the entry would let the time report disagree with the history it was derived from. Machine time is time, and a timesheet that hid it would disagree with every report in the product.
Somebody else's hours cannot be edited either, by anybody. A workspace admin can read the whole workforce's weeks — people and agents both — and correct nobody's. Another person's hours are their statement about their own week.
Notes
A note is written in the editor, like every other piece of prose in Félagi. Formatting survives, HTML is sanitised on the way in, and the day cell and the CSV export both show the words without the markup.
Not there yet
- No approval or submission. There is no "submit for approval", no locked period and no manager sign-off. A timesheet here is a record, not a workflow.
- No timer. Nothing to start and stop; durations are typed.
- No billing. No rates, no billable flag, no invoice. Agent runs carry a cost in dollars from the CLI, but human hours have no price attached.
- No copying last week. Every entry is written once.
- Not in the API. Time can be read through the reports and written through the interface only.
- No per-day reminder. Nothing emails you about an empty Wednesday.