Skip to content
330 linesCodeBlameRaw
1---
2title: Home
3description: Your workspace's front page. Where you're needed now, what happened since you were last here, what is running, and the one item to start with. How every number is worked out.
4---
5
6**Home** is the first page of your workspace, at `/<workspace>/-/home`.
7It answers three questions, in this order:
8
91. **Where you're needed**: everything waiting on you, however long ago
10 it started, with the action beside each item.
112. **What happened while you were away**: what people did and what
12 agents did, side by side; what landed; deploys, decisions and spend,
13 since you were last here.
143. **What is running now**: agent sessions, agents' changes, workflow
15 runs and builds still going.
16
17**Start here** picks the one item to do first, and **Ask g1t** at the top
18sends a message to g1t from the page.
19
20Every number on the page comes from what g1t has recorded. Nothing is
21estimated. When a part of g1t does not answer, the section it feeds says
22so, and the rest of the page still shows.
23
24## Where you're needed
25
26This list has no time window: something that started waiting a week ago
27is here until you deal with it. Each row says what it is, what is at
28stake, how long it has waited, and has its action beside it.
29
30| Source | Rows |
31| --- | --- |
32| Code | A failed production build; an agent's pull request that stopped and needs a decision, including one whose checks fail; a pull request ready for you to merge; a review asked of you by name; an invitation to a repository; an agent run that stopped reporting; a job waiting for a self-hosted runner |
33| Agents | The workspace's agents at 100% of its monthly agent budget, and an agent out of its own monthly budget, both shown only to those who may raise them; a session stopped at its spend cap that you may approve more for; an agent waiting |
34| Marketplace | A member's open request to add an extension or integration, shown only to owners |
35| Notifications | An unread notification in this workspace that is a warning (someone or something is waiting) or a failure |
36| Chat | A conversation that mentions you, or a direct message you haven't read. Muted conversations are left out |
37
38A notification about something already on the list, such as a pull
39request whose row is there, is left out.
40
41Rows are ordered most pressing first, by tier, then by how long each has
42waited, longest first:
43
441. A failed production build, or the workspace's agents at their budget.
452. Agent work that has stopped and can't go on without you: a session at
46 its spend cap, an agent out of budget, a pull request g1t stopped on.
473. Finished work that only waits for you: a pull request to merge, a
48 review, an invitation, an agent waiting, a request to add something.
494. Something that may be stuck: a quiet agent run, a job without a runner.
505. Unread warnings and failures in your notifications.
516. Mentions and direct messages.
52
53The list shows the first eight rows; **Show more** opens the rest. The
54sentence under the page's heading starts with how many things need you.
55
56## Start here
57
58**Start here** is the first row of Where you're needed: the most pressing
59tier, and within it the row that has waited longest. g1t picks it with
60that rule, not with a model, so the same rows always give the same pick.
61The card shows who is on it, the next action, how long it has waited, what
62is at stake, and why it was picked.
63
64## Since you were last here
65
66Home remembers when you were last on it, for each workspace, with your
67account, so it is the same on your laptop and your phone. The second half
68of the page covers what happened since then, and its heading says the span
69in words, such as **Since Tuesday evening · 2 days** or **Since 40
70minutes ago**.
71
72| Switch | What it covers |
73| --- | --- |
74| **Since last visit** | From the end of your last visit to now. The default. |
75| **Last 24 hours** | The 24 hours up to now. |
76| **Last 7 days** | The 7 days up to now. |
77
78The switch is part of the address (`?window=24h`, `?window=7d`), so you
79can bookmark a span.
80
81How a visit is counted:
82
83- A visit counts once the page has been in view for five seconds. A quick
84 refresh does not count, so it never wipes what you haven't looked at.
85- What it records is when the page loaded, so anything that happens while
86 you are reading shows next time.
87- Visits less than 30 minutes apart are one visit. Going to a pull request
88 and coming back, or refreshing, keeps the same span until you have been
89 away for half an hour.
90- With no visit on record, Home shows the last 24 hours and says so. After
91 more than 14 days away, it shows the last 14 days.
92
93The sentence under the heading sums it up, for example:
94
95> 8 things need you. Since Tuesday evening, 3 people pushed 41 commits and
96> merged 5 changes, agents finished 7 tasks, and 12 changes landed.
97
98It says what people did first (the commits they pushed and the changes
99they merged; if neither, the messages they sent), then the agents' tasks
100that settled well, then everything that [landed](#landed). When nothing at
101all was counted, it says so plainly:
102
103> Quiet since Tuesday evening: nothing pushed, merged, deployed or said.
104
105When Code and Chat both failed to answer, the sentence ends with "what
106people did couldn't be read" rather than reading as quiet.
107
108### People and agents
109
110The first card has two columns, **People** and **Agents**. Each lists what
111that side did in the span, one line per kind of thing with its count, and
112each line opens the place that lists them: a project's Activity tab for
113pushes, its pull requests or issues, Artifacts, Chat. Beside the heading
114are the faces of the five most active, and how many more there were.
115
116| Line | What counts | From |
117| --- | --- | --- |
118| *3 people pushed 41 commits to 4 projects* | Every push to a branch of one of the workspace's repositories (`git.push`; tags are not pushes). The commits are the ones each push brought to its branch, along the branch's first-parent line from where it is now back to where it was, at most 50, and one for a new branch. A push recorded before commits were counted counts as one commit. | Events |
119| *opened 2 pull requests, merged 5, closed 1 without merging* | `pull.opened`, `pull.merged`, `pull.closed` | Events |
120| *reviewed 3 pull requests* | A person's review is a comment with a verdict; an agent's is `review.completed` | Events |
121| *opened 4 issues, closed 6* | `issue.opened`, `issue.closed` | Events |
122| *left 9 comments* | `comment.created` without a verdict | Events |
123| *2 deploys went out, 1 failed* | `deployment.succeeded` and `deployment.failed`, by who set the build off | Events |
124| *published 1 release*, *published 2 package versions* | `release.published`, `package.published` | Events |
125| *created 1 doc, edited 7 docs* | Artifacts made (`folio.created`), and artifacts whose content changed (`folio.updated`): each artifact once, and everyone whose changes a version holds edited it. "Docs" when every one is a doc, else "artifacts". Counts only: Home never shows an artifact's title here. | Events |
126| *sent 120 messages in 5 conversations* (people), *replied 15 times in chat* (agents) | Text messages and thread replies that were not deleted, in the conversations you can read: every public channel, and the private channels and direct messages you are in. Cards agents post are not messages. Conversations are those with at least one message. | Chat |
127| *finished 7 tasks, 1 didn't finish*, *ran 2 sessions* (agents only) | The agents' [tasks](#tasks) that settled in the span, and of those the sessions | Code and Agents |
128
129How a side is decided: everything is recorded with who did it. One of the
130workspace's agents acting as itself, or g1t, is an agent; everyone else is
131a person. A comment a workspace agent writes is the agent's, not the
132person's it was working for. A push copied in by a mirror names nobody, so
133it is counted under People without a face.
134
135Under the Agents column's lines, a compact row says how their work was
136received: accepted first time, fixed after review, didn't finish, and the
137share accepted first time with its change from the 7 days before (see
138[Accepted first time](#accepted-first-time)), then one mark per task in
139the order they settled.
140
141Each column says when it has nothing to show, and names the part that
142didn't answer (Code, Chat or Agents) so an empty column never reads as a
143quiet day.
144
145### Tasks
146
147A **task** is one piece of agent work. Two kinds count:
148
149| Kind | What it is | Where it comes from |
150| --- | --- | --- |
151| Pull request | A pull request an agent made in one of the workspace's projects | Code |
152| Session | An agent session at the root of its tree: one a person started in a conversation, or one a routine started | Agents |
153
154A session that another session started, such as a subagent or a colleague
155brought in, is part of the task that started it and is not counted again.
156A conversation whose session filed an issue that an agent then worked on
157counts twice: once for the session, once for the pull request.
158
159A task counts in the span when it settled in it. Each has one outcome:
160
161| Outcome | Pull request | Session |
162| --- | --- | --- |
163| Accepted first time | Merged, and the agent was never sent back to revise it | Never: sessions are not reviewed |
164| Fixed after review | Merged after the agent was sent back to revise it at least once | Never |
165| Session finished | — | Finished |
166| Didn't finish | Closed without merging | Failed or stopped |
167
168Work that is still going is under [Running now](#running-now), not here.
169"Sent back to revise" means g1t started a revise run on the pull request:
170it does this when checks fail or a review asks for changes. Fixes a person
171pushes themselves are not counted as revisions.
172
173### Accepted first time
174
175The share in the Agents column is:
176
177> pull requests accepted first time ÷ agents' pull requests that merged or
178> closed in the span
179
180A pull request closed without merging counts against it. Sessions are not
181part of it. With no agent pull request settled in the span, the row says
182so instead of a share.
183
184Beside it, the change from **the 7 days before** is the same share over the
185seven days before the span began, in whole percentage points. It is left
186out when nothing settled in those days, or when g1t could not read back far
187enough to count them all.
188
189Under it, the counts (accepted first time, fixed after review, didn't
190finish) and a strip with one mark for each task, coloured by its outcome,
191in the order they settled. Point at a mark to see what it is, and select
192it to open it. A session in a conversation you are not in shows as "A
193session in a conversation you're not in".
194
195### Landed
196
197Everything that landed in the span, newest first, a person's or an
198agent's:
199
200| Row | What it is |
201| --- | --- |
202| A pull request merged | With who wrote it, and who merged it when that was someone else |
203| Commits pushed to a default branch | One row per project with any: how many commits landed on its default branch without a pull request, in how many pushes, and by whom |
204| A production build that went live | A project's production build that built and was served (previews stay under Deploys) |
205| A release published | Its tag and name, and who released it |
206| A package version published | Its name and version, and who published it |
207
208The card's line counts them by kind and how many were agents'. The first
209five show; **Show more** opens the rest. When one of its sources (pull
210requests, pushes and releases, deployments) didn't answer, the card says
211so under the list.
212
213### Deploys
214
215Every build that finished in the span, production and previews: **Went
216live** when it built and was served (it may have been replaced since), or
217**Failed**. Skipped builds are left out. A workspace whose projects did not
218build in the span has no Deploys card.
219
220### Decisions
221
222Decisions recorded in the workspace's [memory](/guides/agent-memory/) in
223the span, and Marketplace requests an owner answered, with who made each.
224Memories still waiting to be kept are left out. With none, the card is not
225shown.
226
227### Spent
228
229What the workspace spent over the span, from its
230[statement](/guides/usage-and-billing/), with each line at its price: what
231was charged plus what your plan's included usage, a trial, a pool or a
232discount paid of it. The lines are the statement's kinds of charge, such
233as **Agent runs**, **Sandbox time**, **Self-hosted runner time** and
234**Deployments**, most first. Payments, credits, refunds, tax and card fees
235are money in, not spend, and are left out. Under the total are the days
236counted and the month so far, at price.
237
238The statement keeps whole days, midnight to midnight UTC, so spend counts
239from the start of the UTC day the span began: a span since 3 p.m. UTC
240yesterday counts all of yesterday. Usage that g1t measures through the
241month, such as hosting requests and storage, shows on the day it is added
242to the statement.
243
244**Where the work came from** counts the span's tasks by source: Chat
245(sessions started in a conversation), Code (pull requests), Schedules
246(sessions a routine started) and Another agent.
247
248## Running now
249
250What is going right now, longest-going first:
251
252| Kind | What it is |
253| --- | --- |
254| Session | An agent session at the root of its tree that is queued, working, or waiting on the helpers it started. One stopped at its spend cap waits on a person, so it is under Where you're needed instead. |
255| Change | An agent's pull request that is in the agent's hands: being worked on, waiting on its checks, or a draft still being made |
256| Workflow run | A [workflow](/guides/actions/) run that is queued, waiting, running, or waiting for approval, in the ten projects pushed to most in the span (their newest 20 runs each) |
257| Build | A project's newest build, queued or building |
258
259## Without Code access
260
261A member whose membership does not include Code sees Home without anything
262from Code:
263
264- People shows what was said and the artifacts edited; nothing from
265 repositories. Agents shows sessions only: finished, didn't finish, and
266 what they said and edited. Accepted first time is not shown, since it is
267 measured on pull requests.
268- Where you're needed has no rows from Code, and no notifications about a
269 repository.
270- Landed, Deploys and memory decisions are not shown, and Running now has
271 sessions only.
272- Spent is the same for every member.
273
274## When something doesn't answer
275
276Each section reads its own part of g1t and shows as soon as it has it.
277When one does not answer:
278
279- Where you're needed and Running now name the parts that didn't answer,
280 so an empty list never reads as nothing waiting.
281- People and Agents count what could be read, and each column names the
282 part that is missing (Code, Chat or Agents). If nothing could be read,
283 the card says so instead of showing columns, and the sentence under the
284 heading says what people did couldn't be read.
285- Landed, Deploys and Spent each say their part didn't answer.
286- If your last visit can't be read, the span is the last 24 hours and the
287 page says why.
288
289When a list g1t reads is longer than it reads at once (200 sessions, 200
290revise runs, 100 pull requests per project and state, 50 projects, builds
291of 20 projects, 5,000 events of the span), the page says that some work
292may be missing or some counts are low.
293
294## How it scales
295
296Every event in g1t is in one log, and its ids sort by time, so a span is a
297range of ids. Home asks the events service for one digest of the span: for
298each of the workspace's repositories (the first 50) and each kind of event
299it counts, that is one range scan of an index on repository, type and id,
300and the workspace's artifact events are the same range under no
301repository. A busy week of tens of repositories is a few thousand rows,
302read in one round trip; chat's count is one query over the conversations
303you can read. When a workspace has hundreds of repositories, the next step
304is a daily rollup per workspace that the digest reads instead of the log.
305It is not built yet.
306
307## For services: activity_digest and activity
308
309Home's counts come from two methods other services can call too.
310
311**`activity_digest`** on the events service (`repo_ids`, `workspace`,
312`from`, `until`; RFC 3339, `[from, until)`; the caller has checked the
313viewer may read each repository) returns, per repository that had any
314event: `pushes` (`count`, `commits`, `branches`, `by` with each actor's
315pushes and commits, and `default_branch` with the same for pushes straight
316to it and `last_at`), `pulls` (`opened`, `merged`, `closed`), `issues`
317(`opened`, `closed`), `reviews`, `comments`, `deployments` (`succeeded`,
318`failed`, `production`), `releases` and `packages` (newest first, at most
31950 each); and for the workspace named, `folios` (`created`, `edited` with
320each folio's authors, `edited_count`). Every count by actor is a list of
321`{ actor, count }`, where `actor` is a member key: `user:<id>` for an
322account (g1t is `user:usr_g1t_agent`), `agent:<id>` for one of the
323workspace's agents acting as itself, or empty for nobody. `complete` is
324false when more than 5,000 events fell in the span, or more than 50
325repositories were named.
326
327**`activity`** on the chat service (`workspace`, `viewer`, `from`,
328`until`) returns `messages`, `channels` (conversations with at least one)
329and `authors` (`key`, `messages`; most first), over text messages and
330thread replies not deleted in the conversations the viewer can read.