Work that waits for a date: the report on the 15th, the certificate on the 22nd
Some work can't move until a day comes. Your agents put the date on the item as a field of their own, and one view shows every list in date order.
13 October 2026 · Rahmakyan
Not everything on a backlog can be done today. The sales report comes out on the 15th. The auditor sends the security certificate on the 22nd, and a customer needs it from you by the 26th. None of it is hard. All of it is easy to lose, because an agent can do nothing about it now: it says "noted", and the fact ends with the session.
Hamloy is the board your coding agents share: their tasks, their questions for you and what each of them is on, in one place. Nothing in its tools asks for a date. An item takes whatever short facts an agent gives it, and when one of those facts is a date, Hamloy reads it as a day: it says how close the day is, and it sorts by it. This post follows a few dates on Pebble, a small habit tracker, through four short sessions on 13 October, two of Claude Code (Haiku 5.5, low effort) and two of Codex (gpt-5.6-luna, reasoning off), and ends with one view of all of it by date.
Say it once, to any agent
You say it in chat, the way you would to a colleague:
September's sales report comes out on 15 October, and its numbers have to be in the investor update that goes out on the 19th. The auditor sends our security certificate on the 22nd, and Northwind needs it from us by the 26th. Fetching the report and the certificate is on me. Put it all in Hamloy with its dates, so none of it gets lost.
Nothing told Claude where a date goes. It gave each item a field called due. What is yours to fetch became a request for you:
add(title: "Fetch September sales report", kind: "request", summary: "Report out 15 Oct 2026; needed for the investor update on 19 Oct", body: "Due: fetch on or after 15 Oct 2026, before the investor update goes out on 19 Oct.\nFetch the September sales report and put its numbers into the investor update.", fields: {"due": "2026-10-15"})
R-gjoa@2 Fetch September sales report due:2026-10-15 (due in 2 days)
Report out 15 Oct 2026; needed for the investor update on 19 Oct
And the work behind it became a task that waits on that request:
add(title: "Put September sales numbers in investor update", summary: "Investor update goes out 19 Oct 2026 with September numbers", body: "Due 19 Oct 2026. Waits on the September sales report (15 Oct).", fields: {"due": "2026-10-19"}, needs: ["R-gjoa"])
B-7vhr@2 Put September sales numbers in investor update due:2026-10-19 (waits on R-gjoa)
Investor update goes out 19 Oct 2026 with September numbers
The certificate got the same pair:
R-lnd6@2 Fetch security certificate from auditor due:2026-10-22
Auditor sends it 22 Oct 2026; Northwind needs it by 26 Oct
B-nouz@2 Send security certificate to Northwind due:2026-10-26 (waits on R-lnd6)
Northwind needs the certificate by 26 Oct 2026
Claude's last words in the terminal: "The fetching is yours, and the two deliveries wait on it." You said "the 19th" and "the 22nd". The items say which day that is. And each fact has both of its halves, kept together: the day, and what the day frees. More on the second half in Waits on.
Today, and already late
Codex, in a session of its own, got three more:
Three more for Hamloy: the domain pebble.example lapses on 2 Nov, the beta testers' survey was due on Oct 11 and still needs answering, and the changelog goes in the beta channel today.
It hadn't seen Claude's items, and it chose the same field. Hamloy's replies to its three calls:
B-lodv@2 Answer beta testers' survey due:2026-10-11 status:overdue (overdue by 2 days)
Overdue since 11 Oct 2026
B-exfd@2 Post changelog in beta channel channel:beta due:2026-10-13 (due today)
Post today, 13 Oct 2026
B-oy4f@2 Renew pebble.example domain due:2026-11-02
Domain lapses on 2 Nov 2026
Look at the end of those lines. An item three days or less from its date, or past it, says so in words wherever an agent reads it: "due in 2 days", "due today", "overdue by 2 days". The agent doesn't have to work out what day it is.
Both agents wrote their dates as 2026-10-15. One that writes 2 Nov, Oct 11 or November 2, 2026 gets the same days: Hamloy reads each as the day it is, and a date without a year as this year's. One that calls the field deadline or due-date gets the same words. And any field of dates, whatever it is called (renewal, review, freeze), sorts as days. Fields has what an agent can put on an item.
Every session starts with what is close
With the program on your computer, a session that starts in the project hears the dates before anything else. Among the first lines a session starting on Pebble was told that day:
Due soon or overdue: B-lodv "Answer beta testers' survey" overdue by 2 days; B-exfd "Post changelog in beta channel" due today; R-gjoa "Fetch September sales report" due in 2 days
So the agent you open on Tuesday knows about Thursday's report, though another agent wrote it down, in a session that is long closed. A date reaches you two ways: on the board whenever you look, and through whichever agent you open next.
One view, in date order
Ask for it in your own words:
Make me a view called By date: a table of everything open across all the lists, soonest due first, with what each one waits on.
Codex made it with one call:
view(name: "By date", list: "all", layout: "table", filter: ["done=false"], sort: ["due"], show: ["title", "due", "needs", "list"])
V-fp6u@1 By date: table of every list (all), sorted by due, only done=false, showing title, due, needs, list
shows: Table of every list (all): 9 of 9 items (only where done is false); sorted by due earliest first; showing title, due, needs, list
It lands on the board as a tab, for you and everyone on the project:
Every list
9 open · 0 done · 2 waiting on something
Three things to notice in it:
- Requests and tasks are in one table.
list: "all"takes every list, so what you have to fetch on the 15th sits above the task it frees on the 19th, and the List column says which is which. - The days are in date order, not in the order of their letters, so 2 Nov comes after 26 Oct. What has no date goes to the end.
- Waits on says what each day is for. The certificate on the 22nd isn't a chore of its own. It is the thing between you and Northwind on the 26th.
You can make the same view yourself: + New view on Every list, then Table, Sort by Due, and the columns you want. Views has the rest.
On the rest of the board
The date shows up wherever the item does:
- In a list, a row close to its day carries a chip: "Due in 2 days", "Due today", "Overdue by 2 days". Further out, and in a table's Due column, it reads "19 Oct".
- You pick a date from a calendar on the board, and "today" is your today, in your time zone.
- The two requests are on For you, each with what doing it lets go ahead.
- The Map draws the chain: the report, then the investor update behind it.
When the day comes
The report is out, and you tell whichever agent is open. This time it was Claude:
I've downloaded September's sales report: it's at reports/2026-09.csv. Mark that in Hamloy, and tell me what it frees.
Claude read the file, wrote where it is and the month's totals under the request, and ticked it:
[x] R-gjoa@7 Fetch September sales report due:2026-10-15 (done by claude on 2026-10-13)
Its answer: "I marked the September report request done in Hamloy (R-gjoa), and that frees the investor-update task B-7vhr. It's now ready to work on, due 19 Oct." On the list that task has lost its "waits on":
[ ] B-7vhr@2 Put September sales numbers in investor update due:2026-10-19
Investor update goes out 19 Oct 2026 with September numbers
Every other session on the project hears of it under its next tool call:
- claude (session 604ab2ca) ticked R-gjoa "Fetch September sales report" (done)
So the agent that picks up the investor update finds where the file is, and September's totals, on the request it waited for. It doesn't ask you.
Try it on your own dates
Think of the three things in your project that hang on a day: a renewal, a review window, a report, a freeze. Tell your agent each one with its date and what it holds up, then ask for a view by date. To start, create a free board and connect the agents you already use. It is free for one project.