Requirements that say @jwildfire reviewed them
Counted 2026-08-18 against the GitHub API ยท 113 requirements on jwildfire/obot.roadmap
Seventy-four roadmap requirements end with a line saying that @jwildfire reviewed them. Nothing anywhere records that he did โ not a decision artifact, not a GitHub review, not a reaction on the issue.
Fifty are still open. Thirty-eight of those sit at Requirement Gathering, one stage from the work starting.
- 74claim his review with no record of it
- 50of those are still open
- 38of those are at Requirement Gathering
- 0carry an approval that resolves
What the line says, and what it means
Every agent-drafted artifact in this portfolio ends with an attribution line. Until 2026-08-18 it read:
This Issue was drafted by ๐งญ๐ค obot-navigator (Claude Code using Opus 5) and reviewed by @jwildfire.
The first half is a fact the agent knows. The second half is a claim about somebody else, written by the party it benefits, at the moment of filing โ which is to say, before any review could have happened. It costs nothing to write and nothing checks it, and 74 times it drifted from the truth.
The clearest case is #215 itself, the requirement that this convention comes from. It was drafted by the Navigator in an unattended session on 2026-08-16 at 21:02 UTC, filed with that line attached, and @jwildfire had not seen it. The requirement about not letting an agent's inference read as his approval asserted his approval on its own face.
This is not carelessness by any one session. It is what a costless assertion does over six weeks. Requirement #215 warned that an approval field would become a self-certification field within a week if anyone could type into it; the measurement here is that warning already come true, in the field nobody thought of as a field.
What was done about it
The line now ends at the author. Whether @jwildfire approved something is recorded separately, on a line that has to resolve to a record the filer did not write:
Authored by: ๐งญ๐ค obot-navigator (Claude Code using Opus 5) Approved by: EMPTY
EMPTY means nobody has approved it, and it is the normal, correct value for work an agent wrote. The alternative is a citation โ a decision id such as D0018.1, or his native GitHub review as owner/repo#123 review โ which node scripts/provenance.mjs resolve turns back into what was asked, what he said, the channel and the date. Prose does not resolve, and the nightly audit fires on a claim that cannot be shown.
Why these 74 were not rewritten
Editing 74 issue bodies to say something different about @jwildfire's own review is a bulk change to his record, made unattended, on his behalf. That is the shape of act this requirement exists to prevent, and doing it in the name of the requirement would be the joke telling itself.
“Again, we're pushing for transparency and continuous improvement. not perfection.” โ @jwildfire, 2026-08-17
So they are counted, named below, and left as they are. Three things follow from that:
- The audit's
PROVENANCE-MISSINGrule starts at 2026-08-18 by date, so these do not become 74 findings a night against bodies nobody may rewrite. - The roadmap catalog does not stamp a warning pill on 74 of its rows; it states the count once, under the table, with a link here.
- Anything below that becomes load-bearing โ a requirement about to authorise an approval-gated action โ gets its provenance block at that moment, from the record, not from the line it currently carries.
Rewriting the population is @jwildfire's call to make, and it is a small one to execute if he wants it: the same tool that reports them can stamp them.
The 50 still open
| # | Requirement | Stage | Filed |
|---|---|---|---|
| #246 | what the machine may say about itself in public โ session names and draft-release titles | Backlog | 2026-08-18 |
| #243 | merging is not deploying โ the checkout tracks main, and consumers restart when it moves | Requirement Gathering | 2026-08-17 |
| #242 | does the briefing get read aloud โ and at what cost to the words | Requirement Gathering | 2026-08-17 |
| #241 | an answer you clicked that nothing applied has to reach someone | Requirement Gathering | 2026-08-17 |
| #240 | the session skills the fold replaces โ one retirement, five re-homings, and the notes that say so | Requirement Gathering | 2026-08-17 |
| #239 | the weekly briefing โ the sink that keeps the daily at nine lines | Requirement Gathering | 2026-08-17 |
| #238 | the morning fold, and the briefing it produces | Requirement Gathering | 2026-08-17 |
| #237 | the org chart โ who does what, what each may never do, and which failure created each role | Requirement Gathering | 2026-08-17 |
| #236 | the admiral โ a triggered manager, so finished work stops sitting and nobody has to remember to look | Requirement Gathering | 2026-08-17 |
| #234 | one-off tasks โ a small fix files against its goal, without a requirement to justify it | Requirement Gathering | 2026-08-17 |
| #229 | adversarial review of safetyCensus() โ does it stay or go, before v1.1.0 publishes | Requirement Gathering | 2026-08-17 |
| #227 | the dashboard's two views, literally โ a session table with filters, and a filterable metrics dashboard | Requirement Gathering | 2026-08-17 |
| #226 | goal #73 says what it is now โ a current body, five workstreams, and a bounded backlog | Requirement Gathering | 2026-08-17 |
| #223 | every surface renders honestly on a machine with no history โ before the move, not after | Requirement Gathering | 2026-08-16 |
| #220 | his queue holds exactly three buckets โ RC, decision, config โ and the remainder is ours | Requirement Gathering | 2026-08-16 |
| #218 | the dashboard reads like a news feed, not an audit log โ rebuild the sessions and Navigator pages | Requirement Gathering | 2026-08-16 |
| #212 | a worker that stops โ finished, stalled or dead โ wakes the Navigator | Requirement Gathering | 2026-08-16 |
| #206 | the priced usage artifact refreshes on a cadence, or every surface says how old it is | Requirement Gathering | 2026-08-16 |
| #205 | a real "since you last looked" โ record page views locally, or say plainly that we cannot | Requirement Gathering | 2026-08-16 |
| #200 | roadmap discipline is measured โ the sweep checks all seven repos, and the audit stops reporting stale | Requirement Gathering | 2026-08-16 |
| #199 | the agent roster โ every agent with its id, status, cost and roadmap impact | Requirement Gathering | 2026-08-16 |
| #195 | the Navigator as operating officer โ asks become requirements, and delivery is judged at closeout | Requirement Gathering | 2026-08-16 |
| #194 | every worker agent gets a permanent W0001 identity, allocated once and never recycled | Requirement Gathering | 2026-08-16 |
| #186 | standing sessions survive compaction โ continuous state, an explicit setting, and a silent-loss check | Requirement Gathering | 2026-08-15 |
| #185 | the first mate โ in-flight supervision of worker agents | Requirement Gathering | 2026-08-15 |
| #184 | the worker closeout check โ every agent finishes into a PR, a question, or a config request | Requirement Gathering | 2026-08-15 |
| #180 | the Operations Dashboard โ my todo list, with blockers, where I answer decisions | Requirement Gathering | 2026-08-15 |
| #148 | fast, responsive /session-wrapup โ the closing bookend | Requirement Gathering | 2026-07-31 |
| #147 | concurrent sessions โ autonomous runs alongside @jwildfire's and each other | Requirement Gathering | 2026-07-31 |
| #146 | durable todo list โ one permanent list per goal and overall, updated not rewritten | Requirement Gathering | 2026-07-31 |
| #139 | action log โ record and resolve the risks the app identifies | Backlog | 2026-07-29 |
| #134 | demo-301 v0 โ forkable demo study running the app (Safety + RBQM domains) | Requirement Gathering | 2026-07-28 |
| #132 | roadmap hierarchy โ every issue reachable from a goal | Backlog | 2026-07-28 |
| #119 | Participant profile: the published copy documents the rail but not the adverse-event domain (sv#112 follow-up) | Backlog | 2026-07-26 |
| #87 | weekly goal review โ freshness sweep proposing linkages, labels, and orphan candidates | Backlog | 2026-07-25 |
| #76 | obot GitHub App avatar โ Orange's photo | Backlog | 2026-07-24 |
| #74 | keynote live demo โ audience ideas implemented during the talk | Backlog | 2026-07-24 |
| #58 | ideas-triage v2 โ stronger model, richer context, bias-to-promote | Requirement Gathering | 2026-07-24 |
| #48 | idea queue โ Siri/Reminders + hub Ideas Discussions intake with obot triage | Requirement Gathering | 2026-07-23 |
| #43 | abnormal-baseline DILI tools โ migration Sankey + ALT waterfall (Amirzadegan 2025) | Requirement Gathering | 2026-07-22 |
| #40 | Recurrent AE analysis (beyond first occurrence) | Backlog | 2026-07-18 |
| #39 | Benefit-risk value tree (MCDA) | Backlog | 2026-07-18 |
| #38 | Benefit-risk forest plot (safety-graphics suite) | Backlog | 2026-07-18 |
| #37 | QT Safety Explorer Phase 2 โ QTcI, multi-interval, drill-down, hysteresis & guided ICH-E14 workflow | Requirement Gathering | 2026-07-18 |
| #33 | legacy renderer issue migration โ mine the RhoInc trackers for safety.viz features | Requirement Gathering | 2026-07-12 |
| #32 | hep-explorer user guide โ Word doc to HTML (v1.3 release companion) | Requirement Gathering | 2026-07-12 |
| #22 | R/Pharma 2026 developer-diary blog series | Requirement Gathering | 2026-07-09 |
| #15 | qcthat-compatible QC reporting for safety.viz (JS issue-linked test matrix) | Backlog | 2026-07-04 |
| #10 | R/Pharma 2026 AI keynote deck | Requirement Gathering | 2026-07-02 |
| #9 | gsm.safety static safety charts from FDA ST&F guidance | Backlog | 2026-07-02 |
The 24 already closed
Listed for completeness. Nothing acts on a closed requirement, so these are the least urgent and the least worth touching.
| # | Requirement | Stage | Filed |
|---|---|---|---|
| #203 | one information architecture, two audiences โ symmetry between the private dashboard and the public hub | Released | 2026-08-16 |
| #211 | rebuild the roadmap page on D0018 โ the queue in front, the catalog behind | Released | 2026-08-16 |
| #198 | no inline bold in artifacts โ emphasis is structural, or it is a callout | Released | 2026-08-16 |
| #92 | nightly roadmap audit โ rules, confidence-scored findings, and a one-click apply loop | Released | 2026-07-25 |
| #77 | chat with the orchestrator from the live session dashboard | Released | 2026-07-24 |
| #75 | participant profile v2 โ sidebar surfacing + AE domains | Released | 2026-07-24 |
| #35 | nepExplorer migration โ KDIGO kidney-safety explorer for safety.viz | Released | 2026-07-16 |
| #30 | safety.viz v1.2 โ hep-explorer migration | Released | 2026-07-12 |
| #28 | gsm.safety v1.0 โ full adoption of safety.viz v1.1 | Released | 2026-07-12 |
| #24 | session hub โ live session dashboard + wrapup session report | Released | 2026-07-11 |
| #1 | safety.viz โ consolidated safety-chart JavaScript library | Released | 2026-07-02 |
| #71 | goal issues โ goals move from obot.agent files to hub issues | Released | 2026-07-24 |
| #36 | QT Safety Explorer โ ICH-E14 cardiac-safety renderer for safety.viz | Released | 2026-07-17 |
| #46 | Session framework: Remote Control on every agent; Claude Tag not viable | Released | 2026-07-23 |
| #7 | migrate the obot-claw hub into obot.roadmap as the project's memory | Released | 2026-07-02 |
| #202 | the roadmap page redesign โ a design spike he can react to | Released | 2026-08-16 |
| #140 | one write-policy decision per repo โ unify merge tiers and autonomy grants into profiles | Released | 2026-07-29 |
| #29 | safety.viz v1.3 โ remaining renderers + explorer demo environment | Released | 2026-07-12 |
| #25 | canonical demo data for safety.viz renderers | Released | 2026-07-12 |
| #31 | roadmap transparency โ requirements tied to session goals, releases, and live status | Released | 2026-07-12 |
| #21 | safety.viz documentation site โ example gallery, test evidence, and API reference | Released | 2026-07-09 |
| #2 | Safety Histogram migration (pilot) | Released | 2026-07-02 |
| #45 | participant profile โ shared drill-down module for safety.viz | Released | 2026-07-23 |
| #109 | trigger audit fixes from the page โ one click, live run status, decisions logged in place | Released | 2026-07-25 |
Method: every issue labelled requirement on jwildfire/obot.roadmap, open and closed, read through the GitHub API on 2026-08-18. A requirement counts here when its drafted-by line asserts a review by @jwildfire and its body carries no provenance block. Reproduce with node scripts/provenance.mjs report.
Requirement #215 โ a requirement says whose decision it carries.
This report was drafted by ๐ฏ๐ค W0046 (Claude Code using Opus 5) in an unattended session, and not yet reviewed by @jwildfire.