Fleet {{ stamp }}
{{ stamp }}

Shape of the backlog

Age of open issues{{ ageTotal.toLocaleString() }} open

{{ b.k }} {{ b.n.toLocaleString() }} · {{ Math.round(b.n/ageTotal*100) }}%

{{ Math.round((age[4].n)/ageTotal*100) }}% of what is open has been open for over a year. That is the number allocation has to move — not the total.

Product groups — open vs closed in window{{ groupRows.length }} groups

{{ g.name }} {{ g.open }} open · {{ g.closed }} closed

A long green bar next to a short grey one is a group taking work on faster than it lands it.

Demand one issue twenty accounts are waiting on outranks twenty issues with one account each

Most requested — open issues by number of accounts{{ R.most_requested_total }} with 2+

accounts issuecustomersprospectstypegroupassignedage
{{ r.accounts }} #{{ r.number }} {{ r.title }} {{ r.customers.length }}0 {{ r.prospects.length }}0 {{ r.type.length ? r.type.join(', ') : 'untyped' }} {{ r.group.length ? r.group.join(', ') : 'no group' }} {{ r.assignees.length ? '@'+r.assignees[0] : '' }}nobody {{ r.age_days }}d

Where it is piling up every count opens the issues behind it

Roadmap — open releases by due date{{ upcoming.length }} upcoming

Releasedueopenbugs urgent triage
{{ r.name }} {{ r.due_on || '—' }}{{ overdue(r) ? ' ⚠' : '' }} {{ r.open }}0 {{ r.bugs }}0 {{ r.urgent }}0 {{ r.untriaged }}0
shipped, still carrying open issues — {{ slipped.length }} release{{ slipped.length===1?'':'s' }}
{{ r.name }} {{ r.due_on || '—' }} {{ r.open }}0 {{ r.bugs }}0 {{ r.urgent }}0 {{ r.untriaged }}0

{{ p.title }} — keyword matched{{ p.rows.length }}

{{ p.title }}{{ p.rows.length }}

{{ p.title.replace(/s$/,'') }}openbugs urgent triage oldest
{{ r.name }} {{ r.open }}0 {{ r.bugs }}0 {{ r.urgent }}0 {{ r.untriaged }}0 {{ r.oldest_days }}d