New skills, dataset releases, and notable site changes. They come in
bursts around releases rather than on a schedule, so the easiest way
to catch them is the RSS feed. Classic Outlook
can subscribe to it too, under RSS Subscriptions.
— Analysis on the hosted copy reads analyses written in advance
The hosted dashboard no longer calls a model. Its Analyze
button now shows an analysis written in advance by an automated batch run over each decision’s
text: a summary, the issues, GAO’s reasoning, why the outcome went the way it did, key points and
significance. There is nothing to connect and nothing to paste, and it appears at once. Each analysis names the B-number it belongs
to and says it was written in advance and is AI-generated, and the
privacy page says what loading one reveals.
Analyzing or comparing several decisions at once is not available on the web version, and selecting
several and pressing Analyze or Compare now says so and points to the Analyze button beside each
decision. A downloadable version that does both, against any model you like, is in the works, and the
Setup tab now says what each tab needs here rather than how to point this page at a model; the
loopback-only route from 20 September no longer applies. A Clear results button empties the Analysis output instead of
letting it grow into a running log, and a link that opens the dashboard straight on Analysis
(#tab=an) no longer stops the page from loading.
The old downloadable Nexus bundles are gone from the site. A new downloadable version, with
Dynamic Search and live Analysis against your own model, is in the works.
— A phone menu, a findable feed, and a privacy page
On a phone the navigation used to vanish, leaving the footer as the only way around the site. There
is now a menu, and it works with JavaScript off. Changelog has joined the navigation,
and every page’s footer links the RSS feed, which classic Outlook can
subscribe to as well.
A new privacy page says what the site collects: Google Analytics counts of
visits and a few clicks. The Nexus dashboard now uses Google Analytics
too. It counts visits and which tabs and protest grounds are opened, never which decisions you read, and
the privacy page lists everything it sends. Contact now opens your own mail app instead of Gmail, and
pages such as /nexus load at their own address instead of redirecting first.
— Analysis goes loopback-only on the hosted copy
The hosted dashboard now calls a model only on the machine you are
reading it from — localhost or 127.0.0.1, so LM Studio, Ollama,
llama.cpp or vLLM running right there. It will not call a hosted provider such as OpenAI, and says so
if you try. A page served from a website has no business holding a key that can spend your account:
it would sit in that origin's local storage where any script on the origin could read it. A model on
your own machine needs no key, so the problem disappears rather than being managed. A LAN or Tailscale
address is refused for the same reason, and browsers block plain HTTP to one from an HTTPS page anyway.
The Setup tab gained a Test connection button. It sends a one-token request and
reports what came back, so a wrong port or a stopped server surfaces there rather than halfway through
an analysis, and a check mark appears beside Model endpoint once a call has gone through. Edit either
field and the check clears, so it only ever vouches for settings that actually answered. The tab is
also candid about the awkward part: reaching a local server from a hosted page can need a CORS flag,
Chrome wants a private-network preflight, and Safari may refuse outright.
The restriction applies to the hosted copy only. The downloadable bundle is a file you fetched
yourself, so it still calls any endpoint you like, and running the project's own server lifts the
restriction entirely by keeping the key server-side.
— Nexus v2.1: Setup and License tabs
The hosted dashboard gains two tabs, and neither needs anything
downloaded. Setup answers the question the Analysis tab used to raise and leave
hanging: which tabs work with nothing attached, which need a model, and how to point this page at
one. Four steps for the browser route, the server route for anyone who would rather their key lived
in an environment variable, base URLs for LM Studio, Ollama, llama.cpp and vLLM, and a table of what
the errors mean. License puts the terms in the file rather than only on this site,
so a copy that has been passed around can still say what it is: Apache 2.0 code, CC BY 4.0 data,
MIT and CC BY for the two upstream corpora, public domain for the decisions, plus a citation to
copy.
Both are on /nexus in a new section, with screenshots.
The full bundle is marked coming soon rather than linked, because it is
being rebuilt against v2.1. Until the new one lands, the setup steps clone the
repository
and build the vector index locally, which is the one thing the repository does not carry.
— Nexus v2.1
The hosted dashboard is now v2.1, built with a dedicated web
flag rather than the plain static build. The practical difference is the two model-backed tabs.
They are both present now, and they behave differently from each other.
Dynamic Search shows its tab but states that it is not part of a hosted copy:
the vector index over the full decision text is far too large to ship inside a web page and needs
a server behind it. It still works in the downloadable bundles.
Analysis does run here, against any OpenAI-compatible endpoint you point it at,
with your key kept in your own browser and the decision text or PDF supplied by you.
Because the build knows it is hosted, it no longer probes a backend that is not there, so the
site stops logging a 404 on every pageview. The homepage gained screenshots of both tabs, and all
the screenshots now link to this page rather than dropping straight into the dashboard.
— Nexus v2.0, in the browser
The GAO Bid Protest Nexus now opens straight in a browser at
/nexus/dashboard. No download, no Python, no server. The corpus grew
from 5,986 decisions to 33,136, and the facets from four to eight: ground, outcome,
procurement authority, protest posture, decade, PDF source, text source and digest.
Two features are not in this build. Dynamic Search over the complete decision text and the AI
analysis and comparison tabs both need a local server, so they stay in the
downloadable bundles, which still cover the smaller 5,986-decision corpus.
The build is candid about what it cannot yet tell you, and the page says the same: 82% of ground
assignments are model-assigned rather than reviewed, half the corpus has no recorded outcome so
sustain rates cover a subset, and 27,239 decisions link to a gao.gov landing page rather than
straight to the PDF. Accuracy and every feature are under active improvement.
Licensing changed with the release. From v1.0 forward the code is Apache 2.0 and the data
— taxonomy, per-decision coding, metadata, vector index — is CC BY 4.0. Earlier releases
stay available under CC BY 4.0 in full.
— A page for contributing
Added /contribute. The Contribute link in the navigation used to
drop straight onto the GitHub organization, which is a poor answer to "how do I help?" — it
shows repositories without saying which take contributions or what is actually useful. The page
names the four that do (skills, GAO-Bid-Protest-Nexus,
mcps, agents), ranks the kinds of contribution by how rare they are
rather than how hard, and walks through opening a pull request. Corrections can be emailed in
instead, for anyone without a GitHub account.
The Contribute card is back on the homepage, pointing at the page rather than off-site.
— The Nexus gets its own page
The GAO Bid Protest Nexus moved off the examples page to
/nexus, with the downloads, the screenshots and the setup walkthrough all in
one place. The examples page keeps the FAR Part 52 P&C Tracker and points at the new page.
The homepage was rearranged around it: the Nexus now leads with a preview of the dashboard,
followed by the category cards — Nexus, MCPs, Skills, Examples and Resources. MCP servers are
marked coming soon. The Contribute card is gone, since the section it sat in is the invitation;
the link stays in the navigation.
— Nexus decision analysis
The GAO Bid Protest Nexus gained a fifth tab. Analysis reduces a
decision to its key elements — parties, solicitation, authority and posture, the grounds raised
and GAO's ruling on each — or reads a selection of up to twelve against each other as a
side-by-side comparison. It runs on any OpenAI-compatible endpoint, including a model on your own
machine, and everything it does is also available headless from a terminal.
Both bundles were rebuilt. PDF links now resolve directly for 5,921 of the 5,986 decisions
instead of going through a gao.gov landing page, and the full bundle's server feeds Analysis
straight from the search index, so summarizing a decision fetches nothing.
— GAO Bid Protest Nexus
Published the GAO Bid Protest Nexus: 5,986 GAO bid protest
decisions coded against 33 protest grounds, as an interactive dashboard. The basic bundle is a
single self-contained HTML file that runs offline with no server; the full bundle adds a hybrid
search backend over the complete decision text.
Per-ground sustain rates ship with 95% confidence intervals against the 12.2% corpus base
rate, because most of the apparent spread between grounds is sampling noise.
— FAR Clause Checker v3
Shipped v3 of the FAR Clause Checker and corrected
the install instructions. The skill validates FAR 52.2xx and HHSAR 352.2xx clause lists against
the acquisition.gov Smart Matrix and the JUL 2026 HHSAR Deviations matrix, then writes a
standalone .docx compliance report.