The record
The record as data
The record file of 20 August 2026: 500 rows, one JSON object per line, schema 1.9.0. The pages are built from every row of it.
Download newsroom-2026-08-20.jsonl (500 rows, the file exactly as the software wrote it).
The contract
The file's shape, every field, and the compatibility promise are published in ops/SCHEMA-newsroom.md in the repository that builds this site. Three rules bind any consumer, and this site keeps them itself, with one rule of its own added first:
- A row whose
published_atis later than the date in the file name, the day the record was read, is not published. - A row with
lead_eligible: falseis never set in a lead or featured position. It carries no headline of its own; the record's plain statement stands in. - An excerpt is never rendered longer than the row's own
excerpt_word_cap, and never at all whererepublicationislink_only. source_urlis always a link andsource_nameis always visible beside it.
What is in it, and what is not
Every row is a dated event at a named aerospace or defense company, fetched again at its source on the day the record was read and confirmed to carry its excerpt. Rows are in editorial order: descending editorial_score, then newest first.
The market segments are on every row as segments; the titles on this site are cut on it. A row the reading could not place carries unclassified.
The standards page carries the source register, the quoting rule per source and the terms each reading relies on.
The API
The file above is a snapshot. The same record, and the supplier graph behind the supplier directory, are readable live over an API that costs nothing. It is read-only: every endpoint is a GET, and a POST under it is refused. The base address is
https://loadfactor-edge.reuben-8a7.workers.dev/api/v1
| Endpoint | What it answers with |
|---|---|
GET /companies | The supplier graph, filtered by category, state, claim_state, certification, segment and min_record_entries, paged with cursor and limit. |
GET /companies/:slug | One company: its facts with the public source behind each one, its categories and segments, its claim state, and the record's entries for it. |
GET /categories | The category vocabulary as the graph uses it, each with how many companies sit in it and the address of its buyer's guide. |
GET /record | The rolling record, filtered by company, free text q, segment and since, paged the same way. |
GET /referral-definition | The published definition of a countable referral, the one on the standards page. |
Every answer carries an ETag and five minutes of shared cache, so a repeat that sends If-None-Match comes back as a 304 and costs nothing. A company or an endpoint that does not exist is a 404 saying so, never a guess.
What comes back is what this site publishes and nothing else. The API projects every stored row through the same field lists the two published schemas fix, so a field the schema does not publish cannot leave the store whatever is in it.
A key
Keys are free and read-only. Send one as an x-api-key header or as Authorization: Bearer. A caller with no key gets a small hourly allowance, which is enough to evaluate the API and to run a copilot against it; a key raises the ceiling and identifies the organisation asking. A key the record does not know is refused rather than quietly treated as anonymous, so an integration hears about it before it ships.
To get one, write to reuben@loadfactor.agency and name the organisation it is for.
The MCP server
The same graph and the same record are an MCP server, so a copilot answers from them with the source on every line. One endpoint, taking POST:
https://loadfactor-edge.reuben-8a7.workers.dev/mcp
It speaks the Model Context Protocol at revision 2025-06-18, and accepts 2025-03-26. It is stateless over streamable HTTP: a request is answered with one JSON body and no event stream is opened, which is why a GET to it is refused. It carries four tools.
find_supplierssearches the graph by category, US state, certification or design approval on file, market segment, and how active the record has been about a company in the last thirty days.company_profilereturns one company by its slug, with its facts, their sources and its entries.record_searchsearches the rolling record by company, free text, segment or date.category_guidereturns the taxonomy, or one category with the companies in it and a link to the signed buyer's guide.
Every result carries the public source URL behind each fact and each entry, and the server tells a client to cite them. A client that takes a streamable HTTP server as JSON takes this, with the key line dropped if you have no key:
{
"mcpServers": {
"loadfactor": {
"type": "http",
"url": "https://loadfactor-edge.reuben-8a7.workers.dev/mcp",
"headers": { "x-api-key": "YOUR_KEY" }
}
}
}If you would rather ask a question than wire anything up, the sourcing assistant reads the same graph and costs nothing.