<!-- Generated from public/changelog.html by scripts/markdown-twins.mjs. Do not edit. -->

# What shipped, and when.

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](https://acqagent.ai/feed.xml). Classic Outlook can subscribe to it too, under RSS Subscriptions.

## 2026-09-27 — Analysis on the hosted copy reads analyses written in advance

The [hosted dashboard](https://acqagent.ai/nexus/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](https://acqagent.ai/privacy) 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.

## 2026-09-23 — 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](https://acqagent.ai/feed.xml), which classic Outlook can subscribe to as well.

A new [privacy page](https://acqagent.ai/privacy) says what the site collects: Google Analytics counts of visits and a few clicks. The [Nexus dashboard](https://acqagent.ai/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](https://acqagent.ai/nexus) load at their own address instead of redirecting first.

## 2026-09-20 — Analysis goes loopback-only on the hosted copy

The [hosted dashboard](https://acqagent.ai/nexus/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.

## 2026-09-19 — Nexus v2.1: Setup and License tabs

The hosted [dashboard](https://acqagent.ai/nexus/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](https://acqagent.ai/nexus#whats-new) 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](https://github.com/acqagent/GAO-Bid-Protest-Nexus) and build the vector index locally, which is the one thing the repository does not carry.

## 2026-09-19 — Nexus v2.1

The hosted [dashboard](https://acqagent.ai/nexus/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](https://acqagent.ai/nexus). **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.

## 2026-09-19 — Nexus v2.0, in the browser

The [GAO Bid Protest Nexus](https://acqagent.ai/nexus/dashboard) now opens straight in a browser at [/nexus/dashboard](https://acqagent.ai/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](https://acqagent.ai/nexus), 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.

## 2026-09-15 — A page for contributing

Added [/contribute](https://acqagent.ai/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.

## 2026-09-15 — The Nexus gets its own page

The [GAO Bid Protest Nexus](https://acqagent.ai/nexus) moved off the examples page to [/nexus](https://acqagent.ai/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.

## 2026-09-13 — Nexus decision analysis

The [GAO Bid Protest Nexus](https://acqagent.ai/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.

## 2026-09-08 — GAO Bid Protest Nexus

Published the [GAO Bid Protest Nexus](https://acqagent.ai/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.

## 2026-07-29 — FAR Clause Checker v3

Shipped v3 of the [FAR Clause Checker](https://acqagent.ai/skills/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.
