Timesheet··7 min read·No. 129

Please Resubmit With Valid Activity Codes

A senior engineer logs 47.5 hours, invents two activity codes to account for them honestly, and gets the whole week bounced back by the time system before nine on Monday morning.

Behind the curtain+

Three separate threads on the front page were describing the same hour without noticing each other: an essay against relaying model output verbatim, a management post measuring the AI productivity gain at fifteen percent, and a comment under a model launch from someone with three agents running and nothing to do but stare at the screen. A fourth, a seven-year retrospective on a UI framework whose author cannot say how many times a view rendered, turned out to be the same hour again in different clothes. Set against those: two stories about time that only counts if a person was physically there, one about a map project that will not take data on trust, one about five years of residence and a B1 certificate.

A timesheet is the instrument where "present but not working" stops being a feeling and becomes arithmetic, so the form had to be a timesheet, submitted and then bounced by the payroll system for using codes that do not exist. The grid does the argument: implementation hours shrink down the row while attendance hours climb, and the two columns cross without anyone deciding they should. The appeal is unbroken prose because that is where the accounting turns into a grievance, and it re-adds the same forty-seven and a half hours under a second set of headings so the reader sees one week counted twice.

TIME AND ATTENDANCE / RECORD OF HOURS

Employee: Yilmaz, E. (ID 4471-B) Cost center: 8802, Platform Engineering Location: Hamburg Period: Week 31, 27 July to 2 August 2026 Contracted hours: 38.5 Submitted: 3 August 2026, 08:41

Activity code Mon Tue Wed Thu Fri Sat Sun Total
DEV-100 Implementation 1.0 0.5 0.5 0.5 0.5 3.0
DEV-200 Defect analysis 1.0 1.0 1.0 1.0 0.5 4.5
ARC-100 Solution design 1.5 0.5 1.0 1.0 1.0 5.0
MTG-100 Scheduled meetings 1.0 2.0 1.0 1.5 0.5 6.0
REV-100 Peer review 1.0 1.5 2.0 1.5 1.5 7.5
ATT-001 Attendance, automated work in progress 1.5 2.0 2.5 3.0 3.5 12.5
PRE-001 Presence, physical, unattributable 5.5 3.5 9.0
Daily total 7.0 7.5 8.0 8.5 7.5 5.5 3.5 47.5

Billable to 8802: 38.5. Logged and not billed: 9.0.

Line item notes

ATT-001, Monday. Three sessions open, one per feature. I read what they produced, corrected the second one twice, and then had nothing to do that would not interfere. I did not leave my desk, because at any moment one of them would stop and need me, and I cannot predict which. Ninety minutes of being available. I spent it on the front page, where somebody had fitted an autoregressive language model into 25 KB on a 6502 and somebody else had put a shared pixel canvas behind an ssh command, and a stranger had drawn a red line through a flower a third person was still in the middle of drawing. In previous weeks I booked this to DEV-100. That was not accurate and I would like to stop doing it.

ATT-001, Wednesday. Two and a half hours, of which ninety minutes were not agents at all. The view was rendering more times than it should and I could not determine how many times, because the framework does not tell you and has not told anyone for seven years. This is documented behavior. I want the record to show that I have coded this hour identically to Monday’s, and that this is not a filing error. Watching a layout engine you cannot predict and watching a model you cannot predict is the same hour. I could not tell them apart from the inside and I have stopped trying.

ATT-001, Thursday. Three hours. I pasted a model’s answer about our broker configuration into a pull request thread without reading it closely, because I was watching two other things at the time, and a colleague pasted a model’s response to my paste back at me eleven minutes later. Neither of us added anything. Both of us were at work. I want to note that the vendor’s launch video that week showed a man leaving his desk to go climbing while the system worked, and that I have not been climbing since March.

ATT-001, Friday. Three and a half hours, the highest of the week, and the week’s lowest implementation figure. Someone posted the bicycle pelican again. I looked at it for a while.

REV-100. Up two hours on my average, and I expect it to keep going up. The defects are not in the usual places. Nothing generated has an off-by-one error in it; instead a working function was deleted on Tuesday for no reason I could reconstruct, and a dependency was patched around a config flag that was already there. Reviewing code nobody wrote takes longer than reviewing code somebody wrote, because with a person you know where they get careless.

PRE-001, Saturday. Five and a half hours on foot with a phone. Eleven public book boxes, of which six had moved, two were gone, and one had become a box of shoes. I entered them by hand, one at a time, because that is the only way in. There is an app that has this data in bulk and its maintainer has decided not to send it, and he is right: pushing a few thousand rows into a map you did not walk requires an import account, a plan on a wiki, a proposal in a forum, a conversation with every local community, and a permanent address for complaints. The project would rather have no data than data nobody stood in front of. I stood in front of eleven of them. There is no code for this so I have made one.

PRE-001, Sunday. Three and a half hours of paperwork, filed under the same code, and I am aware of what I am doing by putting it there. Five years in this city. A B1 certificate. Sixty months of contributions. One refusal of permanent residence for the reason that I was between jobs at the time of application, which was correct under the rule and which I do not dispute. The hours were spent being here. They are the same unit of time as standing in front of a book box in Eimsbüttel and they are the same unit of time as sitting at my desk on Friday, and only one of the three has a number in your system.

System response

AUTOMATED NOTICE, TIME AND ATTENDANCE, 3 August 2026, 08:41

Submission 4471-B/W31 has been returned without approval.

Codes ATT-001 and PRE-001 are not recognized. No activity code of either designation exists in cost center 8802 or in the global code set. Records containing unrecognized codes cannot be reconciled and will not be forwarded to payroll.

Suggested valid substitutions for 12.5 hours currently coded ATT-001: DEV-100 Implementation, DEV-200 Defect analysis, REV-100 Peer review.

Hours coded PRE-001 (9.0) fall outside the period’s working pattern and are not attributable to a cost center. No substitution is offered. Non-work hours should not be entered.

Note that this system guarantees reconciliation of every accepted record at period close. Reconciliation cannot be skipped, deferred, or forgotten; it runs on every record, without exception, whether or not anyone requests it. This guarantee is a property of the system and is not configurable.

Please resubmit with valid activity codes.

Appeal, attached

I will resubmit. I will move the 12.5 hours into DEV-100 and REV-100 in the proportions that make the week look like every other week, because that is what the field accepts and because I would like to be paid on the fifteenth. Before I do, I want the following on the record, and I want it kept with the record rather than with me.

Here is the same week, added up a second way.

Hours in which something existed at the end that did not exist at the start: 11.5. Hours in which I was present while something else did it, or while people talked about it, or while I moved its output from one window into another window: 27.0. Hours in which I was somewhere, on my own time, and my having been there is the entire value produced: 9.0. Total 47.5, the same total as the grid above, because I have not invented any hours. I have only stopped sorting them by who is watching.

The number that management is looking for is in the first figure and it is not the number they were promised. The fifteen percent that gets reported every quarter is real, and it is real because 12.5 hours a week of standing next to a machine are being posted to implementation, where they read as productive labor rather than as what they are. Nobody is lying. The code for what actually happened does not exist, so the time goes into the nearest code that does, and then the nearest code is measured, and the measurement comes back healthy. The hours did not vanish. They changed category, and the only category that grew is the one the system will not name.

What I will not accept is the second paragraph of your notice, the one that calls nine hours of my week non-work and offers no substitution. You are half right. It is not work. Neither were most of the rest.

The map project will not take my eleven book boxes on the word of an app, and it is correct not to. It wants a person who was there, whose name is attached, who can be found again if the box turns out to be shoes. I can produce that person. I walked to all eleven. This country made me spend five years in it before it would say I was from here, and asked for a certificate, and turned me down once for being between jobs, and every one of those requirements has the same shape: presence cannot be delegated and cannot be relayed, so it has to be spent. Both institutions are inefficient in exactly the way you are trying to eliminate here, and both of them are the only ones in this letter that know what an hour is worth.

Your system guarantees that its cleanup always runs. It will reconcile every record I ever file, without exception, forever, and it makes a point of telling me so.

I would like a guarantee like that about anything I did this week.

Forty-seven and a half hours, of which the ones I would swear to in front of another human being are the nine you refuse to accept.

Resubmitting now, with valid codes.