obot portfolio · report · 2026-07-21

Executive overview: seven weeks of obot, and the road to R/Pharma

Accomplishments to date, where every workstream stands tonight, proposed next steps for the coming week and the August–September arc, and the gaps in the roadmap — including why roadmap.html stopped being useful and what was done about it.

TL;DR

The July shipping sprint worked: safety.viz went v1.0.0 → v1.4.0 in seven days (nine interactive safety renderers, evidence/QC framework, public docs site), the session/ops framework shipped in obot.agent v0.2.0, and the public diary is six blog posts deep. Tonight the portfolio's critical path runs through three items sitting at gates: the gsm.safety v1.0.0 RC merge (CI fix in flight), the FDA static-charts design decisions (D1–D4 on #9, design PR posted tonight), and the open.gismo plan update. Clearing those this week frees August–September for open.gismo v1.0 — the keynote centerpiece. The biggest roadmap gaps: the keynote deck itself (#10) is the least-developed requirement in the portfolio, the Q4 slate is over-committed with no recorded sequencing, and the public roadmap page had drifted from reality — its generator was upgraded tonight (v1.8.0) to show real sub-issue progress and freshness.

Direction update — reviewed live, late 2026-07-21

@jwildfire set the portfolio's stage model right after publication, superseding parts of §3. Stage 2 closes when safety.viz is fully shipped: gsm.safety v1.0.0 merged + tagged, the delivered requirement set closed, the QT demo-data fix released, and Diary #8 telling the ship story. (Correction: Diary #7 — Papers → Prompts → Prototypes — published the morning of Jul 21; the "at the gate" framing below was stale at capture.) Stage 3 is the obot autonomy experiment: a --auto flag on /session-init plus Claude Code's built-in /goal, pursuing two standing goals — ① new charts, static and interactive (§3's chart workstreams become this goal's feed) and ② the user-facing app replacing safetyGraphics with the core gsm tools brought into the gsm.safety framework, decided same-arc as open.gismo v1.0. Phase 4 = talk prep from September. Decision records: comments on #10, #18, and #34.

9
interactive renderers shipped in safety.viz v1.4.0
6
production releases in 7 days (Jul 12–18)
26
requirements on the roadmap · 9 released
7
diary blog posts live · #8 planned for the gsm.safety v1.0 ship
18
portfolio reports published on the hub
49
public diary entries since June

1The story so far

Two distinct eras. June was the research era under the old obot-claw hub: the ten-chapter autonomous-agent framework report, supervision experiments, and the portfolio operating model. July consolidated identity and then shipped: the hub moved to jwildfire/obot.roadmap on July 2, and everything since has been product.

Release record: safety.viz (7 releases), obot.agent (2), gsm.safety (v0.1.0 — v1.0.0 pending below).

2Current status by workstream

Seven workstreams, each with its state tonight and the single next action that moves it.

safety.viz — interactive safety charts HEALTHY · v1.4.0 LIVE

Nine renderer modules, shared chrome and view-selector shell, evidence/QC pipeline, and the public docs site. v1.3 scope (#29) keeps a tail open (explorer demo environment); QT Phase 2 is scoped in #37; the shared view selector (#41) is delivered and awaits its one-click close.

Next: nothing urgent — absorb nepExplorer and QT P2 as they arrive; close out #41 and the #29 tail.

gsm.safety v1.0 — the R home AT GATE · RC1 CI FIX IN FLIGHT

The v1.0.0 RC (PR #39, hub #28) adopts safety.viz v1.4.0 across six Widget_* htmlwidgets with the qcthat evidence bundle. Two infra CI failures block it; a sibling agent session is fixing them tonight. Merge + tag is @jwildfire's call.

Next: CI green → merge + tag v1.0.0. This is the portfolio's #1 unlock — it completes the R-side story and is the prerequisite home for static charts under #9's D1.

Static safety charts (P005 / FDA ST&F) IN DESIGN · DECISIONS PENDING

The strategy report landed today: 60 tables / 22 figures inventoried, 15 figures unserved in open-source R, 12 of them with a shipped safety.viz twin → a 4-chart-engine Phase 1. The long-form design doc went up tonight as PR #42.

Next: @jwildfire reviews the design and rules on D1–D4 (package home, shared-layer depth, scope commitment, output formats). No build starts before D1/D3.

nepExplorer migration READY · DECISIONS RESOLVED

KDIGO kidney-safety explorer (#35): GO with phasing per the assessment; D1–D3 resolved in the Jul 19 decision session. It would be renderer #10 and the third organ-system explorer (liver → heart → kidney).

Next: pre-flight (Design section + safety.viz implementation issue) → overnight ⚡️ Phase-1 build.

open.gismo v1.0 — the platform AT GATE · PLAN UPDATE QUEUED

Phase-0 local-first prototype is open as PR #1; the Jul 19 session ratified D1 (GitHub as prerequisite), D2 (fork + upstream), D6 (Snapshots in v1) on #34, with D3/D4 to be resolved as proposals inside the plan update. This is the August–September centerpiece and the keynote's second act.

Next: revise the v1.0 plan per the decisions → close #34 → file Phase 1–4 requirements → merge PR #1.

Agent operations (obot.agent) SHIPPED · DESIGN CONTINUES

v0.2.0 session framework is live and dogfooded (init/wrapup bookends, session hub, heartbeats). Autonomous operations (#18) advanced to Design with Q1–Q4 resolved; the session-hub requirement (#24) sits in Review.

Next: write the #18 Design section; define the K4 per-repo standing grants that autonomous runs depend on.

Keynote narrative (blog + deck) DECK UNDEFINED · BLOG CURRENT

Diary posts #1–#7 are published — #7 (Papers → Prompts → Prototypes) landed the morning of Jul 21, and Diary #8 will cover the gsm.safety v1.0 ship. But the keynote deck requirement (#10) has no overview, design, or tasks — see Gap G2.

Next: the keynote-plan report that turns #10 into a real requirement (queued next session).

3Proposed next steps

Short term — this week (Jul 21–27)

Ordered by unlock value. Items 1–4 are all finishing moves on work already at a gate; none opens a new front.

  1. Land gsm.safety v1.0.0 — CI fix (in flight tonight) → @jwildfire merge + tag on PR #39.Completes the JS↔R pairing story and is the prerequisite for static-chart placement (D1). Everything downstream of #9 waits on it.
  2. Blog: Diary #7 shipped Jul 21 — outline Diary #8 (#22).#8 tells the gsm.safety v1.0 ship story and closes the Stage-2 narrative; the diary is the keynote's evidence base.
  3. Review the #9 design (PR #42) and rule on D1–D4.One sitting, four decisions — same pattern that cleared 7 decisions on Jul 19. Unblocks the entire static-charts workstream.
  4. open.gismo plan update → close #34 → file Phase 1–4 requirements.August capacity should land on a filed, decided plan — not on planning.
  5. nepExplorer pre-flight → overnight Phase-1 build (#35).Decisions are resolved; this is proven overnight-agent territory (QT P1 shipped the same way). Renderer #10 while the humans decide things.
  6. Board hygiene + re-milestone pass (details in Gaps G1/G5).30 minutes of agent work; makes the roadmap page trustworthy again and encodes the Q3→Q4 sequencing.

Medium term — August–September

ArcWhat shipsAnchors
open.gismo v1.0the centerpieceEnd-to-end open-source RBQM platform on workr: phased build per the updated plan (engine → app → GitHub-native collaboration → Snapshots).#34 → Phase 1–4 reqs, og PR #1
Static charts Phase 1P005The 4 chart engines covering the 12 unserved FDA figures with safety.viz twins, in the D1-selected home, sharing one derivation layer.#9, PR #42
Keynote assemblyKeynote-plan report → deck requirement with design (#10); blog series continues through the open.gismo arc; demo-study repo (K3) stood up.#10, #22
Renderer pipelinenepExplorer phases 2+ (#35), QT Phase 2 (#37), #29 close-out; backlog candidates (#38/#39/#40) stay parked unless the keynote needs them.2026q4 milestone
Autonomous ops#18 design → scheduled/event-driven runs; K4 standing grants; #24 session hub merged; weekly board-hygiene sweep automated.#18, #24
Capacity fillershep-explorer user guide (#32), legacy RhoInc issue mining (#33), safety.viz-release skill.2026q3 tail

4Gaps in the roadmap

Seven gaps, ordered by how much they distort planning. G1 and G5 are mechanical hygiene an agent can clear this week; G2–G4 need @jwildfire; G6–G7 are process fixes with proposals attached.

G1 · The board has drifted from reality

Six open issues sit in the board's Released column (#2, #3, #21, #30, #36, #41 — delivered work whose close clicks never happened). 23 cross-repo implementation items are on the board with no Status at all. safety.viz #54/#55 and obot.agent #32 aren't on the board. A stale codex draft (gs PR #29) has squatted in Review since Jun 7.

Fix: one agent hygiene pass (close-or-annotate the six, status the 23, add the three, ask @jwildfire to triage gs #29) — proposed as short-term step 6, then automated as a weekly sweep under #18.

G2 · The keynote deck is the least-developed requirement in the portfolio

Everything in the portfolio ostensibly drives toward the R/Pharma 2026 keynote, yet #10 is a stub: no overview, no data requirement, no design, no tasks — while 25 other requirements are fully dressed. There is no written statement of what the talk argues, which demos it needs live, or what the drop-dead dates are working back from the conference.

Fix: the queued keynote-plan report becomes #10's Overview + Design; the deck requirement then gets sub-issues with real dates. Until then, prioritization calls (e.g., whether #38–#40 matter) have no anchor.

G3 · Q4 is over-committed and nothing records the sequencing

nepExplorer (#35), QT Phase 2 (#37), static charts (#9 — up to 82 displays if unbounded), open.gismo v1.0, and the keynote deck all target the same August–October window. The roadmap has no recorded priority order among them, and #9's D3 (scope commitment) is precisely the decision that keeps it from swallowing the quarter.

Fix: the re-milestone pass (step 6) should encode an explicit order — proposal: open.gismo > keynote assembly > static Phase 1 > nepExplorer P2+ > QT P2 — and D3 should commit to Phase 1 only.

G4 · Decided but unfiled: decisions with no issues behind them

The Jul 19 session ratified open.gismo phasing, the K3 forkable demo-study repo, and K4 standing grants — but none of these exists as a requirement or sub-issue yet. Decisions that live only in diary entries and memory files don't survive contact with a busy month.

Fix: file them this week while the context is fresh: open.gismo Phase 1–4 (step 4), a K3 demo-study-repo requirement, and K4 grant definitions under #18.

G5 · Milestone metadata is drifting

#25 (canonical demo data) is in Development with no milestone. #34 still wears backlog after its decisions were ratified. Eleven open issues carry 2026q3, which closes Sep 30 — several (e.g. #31, #33) plainly won't make it.

Fix: part of the same re-milestone pass; cheap once G3's ordering exists.

G6 · The public story lags the work

The hub exists to make this project legible to outsiders (and to the keynote audience), but its main status page went stale in meaning (§5), and requirement #31 (roadmap transparency) — filed for exactly this problem — has sat in Requirement Gathering since Jul 12.

Fix: tonight's roadmap.html upgrade is the interim patch; this report is the narrative layer. Fold both into #31 as its de-facto requirement gathering, and let #31 decide the durable form (auto-generated exec summary? news-feed integration?).

G7 · One approver, seven gates

Currently queued on @jwildfire: gs PR #39 merge+tag, hub #41 close, #9 D1–D4, open.gismo D3/D4 + og PR #1, gs PR #29 triage, obotclaw installs (open.gismo, jwildfire.github.io), and carried admin (Gilead PR #151, credential retirement). Each is small; together they're the portfolio's rate limiter.

Fix: the Jul 19 review-backlog page cleared seven decisions in one sitting — make that a standing weekly ritual: one consolidated decision page, one sitting, batched clicks. K4 standing grants then shrink the queue structurally.

5roadmap.html — diagnosis and fixes

The complaint: "not very useful or up to date." Both are right, but neither is a pipeline failure — the page rebuilds daily and on every push, and last deployed successfully this morning. The staleness is semantic: the page faithfully renders inputs that themselves went stale.

Diagnosis — five findings

#FindingEffect on the reader
1The Tasks column reads inline ### Tasks checklists, but the lifecycle moved to sub-issues as the canonical tracker months of work ago.Most rows show "—"; the few numbers shown are stale checkbox counts. The one progress signal on the page is dead.
2The page mirrors the project board's Status field, and the board has closeout lag (Gap G1).Open, active work appears under "Released"; the Design column is empty even while a design PR is open.
3The version badge is a manually-maintained changelog (last bumped Jul 19), and no row shows any date.The page announces itself as days old even minutes after a rebuild, and nothing distinguishes an issue touched yesterday from one dormant since June.
4Backlog is the first section; active work (Development, Review) is two screens down; released work is a closed <details>.The first thing a visitor sees is the least important content on the page.
5Hub-repo requirement issues only — the cross-repo implementation layer (safety.viz, gsm.safety, obot.agent sub-issues) and the releases/reports/diary narrative are invisible.A reader cannot see that six releases shipped in seven days. The page under-reports the project's actual velocity.

Shipped tonight (generator v1.8.0)

Four incremental fixes to scripts/build_roadmap.mjs, live on the next deploy:

Recommended next (for @jwildfire's call — not implemented)

RecommendationRationaleEffort
"Shipped this week" strip at the top: latest releases + reports pulled from the news feed the site already builds.Fixes finding 5 — the page finally shows velocity, not just inventory.Small — the news generator already collects this.
Retire the manual changelog badge in favor of the generated timestamp in the header (keep the audit modal, auto-append entries from board diffs).Fixes finding 3 at the root; the badge currently manufactures staleness.Small–medium; needs a decision because it changes the audit-log contract in AGENTS.md.
Per-requirement drill-down: expand each row to its cross-repo sub-issues (the rollup data is already fetched).Makes the page the one place to answer "what is actually happening on #28?"Medium.
Weekly automated hygiene sweep (board status vs. issue state, unstatused items, stale Review entries) filing a report or fixing trivial drift — under #18.The page can only be as truthful as the board; this keeps the board truthful without ritual human effort.Medium — natural first cron for #18's autonomous ops.
Fold this report's format into #31 as a periodically regenerated executive summary linked from the roadmap header.Tables answer "what exists"; executives ask "how is it going" — that needs narrative.Decision first: manual cadence vs. generated.