Every open issue in the obot portfolio, plotted against the four standing goals — plus the sixty-one percent that roll up to nothing at all.
The goal layer shipped on 2026-07-24 and works — but only 29 of 74 open issues can currently be reached from a goal. The other 45, including 20 requirement issues, are unclaimed: an --auto session that selects work by walking goal sub-issue links cannot see them at all. They are not junk work — they cluster cleanly into five groups. Two of those groups are just missing links to goals that already exist. The other three are real workstreams the four goals were never written to hold, and this report proposes goals for them.
Each square is one open issue, colored by the goal that owns it. Squares are sorted left-to-right by board stage within each group; a ring means the issue is not on the project board at all. Click any square to open it on GitHub.
hub#78 charts carries 18 of the 25 claimed members and looks like a working goal. hub#79 app has exactly one member — a design discussion. hub#72 keynote has one. hub#73 autonomy has six, two of them already closed. The app and keynote goals both say in their own bodies what their children should be — and those children exist as issues today, unlinked.
A requirement with no goal is invisible to the selection logic that --auto uses, so it can only ever be picked up by @jwildfire naming it. That includes live work: hub#29 (v1.3 renderers, in Development), hub#45 (participant profile, in Development), hub#48 (idea queue, in Development), hub#24 (session hub, in Review).
Sixteen open issues describe the obot workbench itself — the session framework, the live dashboard, roadmap transparency, the merge and release lanes, the bot's own identity. hub#73 autonomy covers how much can run unattended; it does not cover the tools the sessions run on, and its boundary prose is explicit about that. This is the clearest case for a new goal.
obot.agent/goals/registry.json lists charts, app and autonomy — but autonomy points at hub#73 with an empty backlog feed, and keynote hub#72 is absent entirely. Both goal bodies already say they are display-only. That is a deliberate state, not a defect — but it means two of four goals are decoration until the registry entry lands.
They have no Status field, so they appear in no roadmap lane. Most are recent one-line task issues filed straight into safety.viz and obot.agent. The nightly audit already has a rule for this; the atlas shows the shape of it.
Three deliverables, in the order they answer each other.
The coverage ridge, a goal/requirement/task icicle sized by open subtree, a filterable collapsible outline of all 182 issues, and the unclaimed gallery grouped into proposed homes. Every node links to GitHub.
How well the four goals cover the actual landscape, where the seams are, and draft titles plus boundary prose for the goals that are missing — with the exact issue rosters that would roll up under each.
Eight new requirement candidates per goal, checked against every existing issue title for duplicates. Each one gets a pitch, a why-now, a size, and the goal it belongs to.
Nothing here was filed, linked, edited, or moved. Goal issues are read-only to autonomous sessions by the hub#53 policy, and this sweep respected that: no issues created, no sub-issue links changed, no board stages touched. Every proposal below is a proposal.
It also does not duplicate the nightly roadmap audit (hub#92), which enforces rules and files accept-decisions. The audit asks "does this issue break a rule?" The atlas asks "what is the shape of the whole thing, and is the goal layer the right shape for it?"