obot roadmapthe ranked head jwildfire/obot.roadmap

The next ten, and the eleven on the bench

Two tiers of one population. The top10 label says which ten come next and rank/top10.json says in what order; the on-deck label is the shelf a slot is filled from, and it is deliberately unranked. Every other thing on these cards — the title, whether it is still open, its milestone, how far its sub-issues have got — is read from GitHub rather than written down anywhere.

10 ranked 11 on the bench order last touched 2026-08-20 21:41 state read 2026-08-21 00:23 all times EDT
how deep this record goes

Ranked order exists from 2026-08-20 12:39 — 6 commits across one day, a window of 9 hours 3 minutes. Membership reaches further back, to 2026-08-18 21:32, from the label events on the issues themselves. There is nothing before that: neither record existed.

slot open

Rank 4 is a slot open: #267 — "the judge can see the constraints it is judging against" is closed (2026-08-21). Something shipped. Choosing the replacement belongs to 🎩🤖 obot-prime and is not decided here or on this page.

the ranked head

Ten, in order, each with the one line rank/top10.json gives for why it sits there. Where a row carries a review note, that is the ranking flagging its own uncertainty; it is shown rather than hidden.

the bench

The ten carrying `top10` are ranked and are what gets picked up next; the bench carrying `on-deck` is what a slot is filled from, unranked until one is promoted; everything else is open work with no claim on either. These cards carry no rank on purpose: the bench is unranked, and ordering it on screen would invent a decision nobody has made.

how it moved

Every change to the order is a commit against one file, so the file's history is the whole record of how the ranking has moved. The player below replays it. It is a step per commit — not a time axis; the rail at the top of this page is the one thing drawn to scale.

Watch how it moved — 6 frames, one day
    the commit's own reasoning

    rose   fell   new entered the head   back returned after leaving

    reversals

    An order that only ever moved one way would be a ranking nobody was arguing with. These are the items that left the head and came back:

    • #260 left at a0c4d51 (2026-08-20 19:41, “The laptop IQ to rank 1, a promise kept, and the stylesheet onto the head”) and came back at rank 6 at 39fb645 (2026-08-20 21:41, “#260 back on the head — prime was wrong, and the evidence arrived the same night”) — 2 hours later.

    The commits behind the player

    The same record, without needing the player to read it.

    1. 2026-08-20 12:39 · 97ed7e3
      The ranked head: one declared order, everything else derived (#269)
      1. #2782. #2753. #2724. #2795. #2606. #2637. #2648. #2519. #25610. #274
    2. 2026-08-20 13:05 · 2d95ca6
      The first re-rank, and the test that would not let it happen
      1. #2722. #2573. #2414. #2525. #2796. #2637. #2608. #2659. #28110. #274
    3. 2026-08-20 17:29 · 87653d7
      Three slots filled — the head after a day that closed seven requirements
      1. #2722. #2613. #2804. #2525. #2796. #2637. #2608. #2669. #28110. #274
    4. 2026-08-20 18:12 · 4e17909
      #267 to rank 3, and a bench that is a shelf again rather than a drawer
      1. #2722. #2613. #2674. #2525. #2796. #2637. #2608. #2669. #28110. #274
    5. 2026-08-20 19:41 · a0c4d51
      The laptop IQ to rank 1, a promise kept, and the stylesheet onto the head
      1. #2792. #2723. #2614. #2675. #2896. #2527. #2638. #2669. #28110. #274
    6. 2026-08-20 21:41 · 39fb645
      #260 back on the head — prime was wrong, and the evidence arrived the same night
      1. #2792. #2723. #2614. #2675. #2896. #2607. #2528. #2639. #26610. #274
    membership, the other record

    The label carries membership and the file carries order — two mechanisms, so they can disagree, and every disagreement is reported rather than quietly resolved. This is what the labels themselves record, read from GitHub's issue events. Each row is one act of labelling: changes made within five minutes of each other are one decision, not eleven.

    1. 2026-08-18 21:32
      +#278 top10+#275 top10+#272 top10+#279 top10+#260 top10+#263 top10+#264 top10+#251 top10+#256 top10+#274 top10
      10 on top10 · 0 on on-deck
    2. 2026-08-19 08:21
      +#281 on-deck+#282 on-deck+#241 on-deck+#257 on-deck+#266 on-deck+#265 on-deck+#252 on-deck+#238 on-deck+#280 on-deck+#261 on-deck
      10 on top10 · 10 on on-deck
    3. 2026-08-20 12:29
      −#251 top10−#256 top10−#264 top10
      7 on top10 · 10 on on-deck
    4. 2026-08-20 12:42
      −#278 top10
      6 on top10 · 10 on on-deck
    5. 2026-08-20 13:02
      +#257 top10−#257 on-deck+#252 top10−#252 on-deck+#265 top10−#265 on-deck+#281 top10−#281 on-deck+#241 top10−#241 on-deck−#275 top10
      10 on top10 · 5 on on-deck
    6. 2026-08-20 16:42
      −#241 top10
      9 on top10 · 5 on on-deck
    7. 2026-08-20 17:28
      +#261 top10−#261 on-deck+#280 top10+#266 top10−#280 on-deck−#266 on-deck−#257 top10−#265 top10
      10 on top10 · 2 on on-deck
    8. 2026-08-20 18:10
      +#267 on-deck+#243 on-deck+#194 on-deck+#223 on-deck+#236 on-deck+#186 on-deck+#184 on-deck+#199 on-deck−#280 top10+#267 top10−#267 on-deck+#205 on-deck
      10 on top10 · 10 on on-deck
    9. 2026-08-20 19:40
      +#289 top10−#260 top10+#260 on-deck
      10 on top10 · 11 on on-deck
    10. 2026-08-20 21:41
      +#260 top10−#260 on-deck−#281 top10+#281 on-deck
      10 on top10 · 11 on on-deck
    where every number came from