AI Infrastructure Construction (data centers + fabs) API v1
Generated from
core.contract.describe_ai_infrastructure_construction_v1()and checked fixture-backed examples. Do not hand-edit the example JSON files.
Capability
- Capability:
ai_infrastructure.construction - Primitive:
query_ai_infrastructure_construction_v1 - Status:
available - Current source:
construction.census.c30_vip - Source publisher: U.S. Census Bureau
- Snapshot behavior:
as_of = latestresolves to an exact snapshot date in every response.
What It Can Answer
- Monthly private data-center construction spending ($ millions) — Census's Value of Construction Put in Place — seasonally-adjusted annual rate or not-adjusted monthly level, cited to the source cell.
- Monthly private computer/electronic/electrical (semiconductor-fab) construction spending ($ millions) on the same two bases.
- The data-center vs fab construction-spending trend over time (each as its own per-month series; the data-center series begins 2014-01).
- Whether a given month's value is preliminary, revised, or final — Census's own revision marking, carried verbatim.
- Row-level detail records when
include_recordsis true. - Raw Census workbook-cell evidence for any returned row-level citation.
Represented Facts
Census C30 (Value of Construction Put in Place) reports the monthly value of private DATA-CENTER construction put in place ($ millions), served both seasonally-adjusted (annual rate) and not-seasonally-adjusted (monthly level), verbatim and citedCensus C30 reports the monthly value of private COMPUTER/ELECTRONIC/ELECTRICAL (semiconductor-fab) construction put in place ($ millions) on the same two bases
Data Point Contract
- Data point:
ai_infrastructure.construction - Product spec:
blocks/ai_infrastructure_construction/card.md - Grain:
category_monthly - Source basis:
construction.census.c30_vip - Represented fact: Census C30 / Value of Construction Put in Place — the monthly value of PRIVATE construction put in place ($ millions) for data centers (a named subcategory under Office) and computer/electronic/ electrical manufacturing (the semiconductor-fab line), served both seasonally-adjusted (an annual rate) and not-seasonally-adjusted (a monthly level) exactly as Census publishes. Construction spending only — never total investment (servers/chips), which Census does not publish.
Does not answer:
total data-center INVESTMENT (servers, chips, cooling, equipment) — this is construction put-in-place only; an investment total would require imputation Census does not publishdata-center MW capacity, count, square footage, or location (this is $ of construction, not physical capacity)public or government data-center construction (the series served is PRIVATE construction only)which company, operator, or project is building (Census C30 carries no operator/project breakdown)summing the seasonally-adjusted series across months (it is an annual rate, not a monthly level) or summing across bases (refused with a note, never silently computed)state, county, plant, or lat/lon attribution (structural — this is a national aggregate with no geographic anchor)construction outside the two AI-infrastructure-relevant categories (the source has ~70 categories; only data center + the fab line are served)
REST Surface
GET /v1/healthGET /v1/capabilitiesGET /v1/ai-infrastructure/construction/schemaPOST /v1/ai-infrastructure/construction/queryPOST /v1/evidence/source-row
MCP Surface
list_capabilities_v1describe_ai_infrastructure_construction_v1query_ai_infrastructure_construction_v1get_source_evidence_v1
Local MCP Setup
Some MCP clients launch servers from the user's home directory or ignore a configured cwd. Use uv run --directory so the server always starts from the repository project.
{
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/OSINT",
"python",
"-m",
"core.mcp_server"
]
}
Leave EXASCALE_PARQUET_BASE / EXASCALE_RAW_BASE unset: the one server hosts every data point's tools, and with no override it resolves each block's promoted snapshots and raw archive from the repository layout. Setting either env var points ALL tools at one directory — a per-block path breaks every other block's tools. They exist only for single-source sandboxes and tests.
Request Schema
Filters:
as_ofcategorybasisdata_monthdata_month_fromdata_month_toyearrevision_status
Group by:
categorybasisdata_monthyearrevision_status
Date range parameters:
data_month_fromdata_month_to
Controls:
include_recordsinclude_evidencelimitorder_bytop_norderrollup_other
Ranking (how order_by / top_n / order join — order_by ranks groups by a metric, never a group_by dimension; top_n needs both a group_by and an order_by):
{
"no_ranking": "Omit order_by and top_n to return all groups in group-key order.",
"order": {
"default": "desc",
"valid_values": [
"desc",
"asc"
]
},
"order_by": {
"accepts": "one of output.metrics",
"note": "Ranks the groups by a metric (a measure). Not a group_by dimension \u2014 rows already come back grouped by each group_by field.",
"requires": [
"group_by"
],
"valid_values": [
"construction_spending_musd",
"source_record_count"
]
},
"top_n": {
"note": "Keeps the top N groups by order_by; the rest fold into one (other) remainder (additive metrics sum into it, non-additive ones are nulled) so the result still reconciles to summary.totals.",
"requires": [
"group_by",
"order_by"
],
"type": "positive integer"
}
}
Output Schema
Aggregate metrics:
construction_spending_musdsource_record_count
Metric groups:
{
"construction_spending_musd": [
"construction_spending_musd"
],
"records": [
"source_record_count"
]
}
Response summary fields:
group_counttotals
Accepted fact policy:
- Query responses contain accepted, gate-passed facts only.
- Gate, monitor, and audit quality signals are internal controls, not agent-facing answer caveats.
- If a source snapshot is not fit to serve, the source must fail closed before it reaches this API.
Metric metadata:
| Metric | Category | Unit | Aggregation | Additive Across Groups | Authoritative Total | Definition |
|---|---|---|---|---|---|---|
construction_spending_musd |
construction_spending_musd | million USD | sum | false | summary.totals.construction_spending_musd |
The value of PRIVATE construction put in place ($ millions) for the category in scope (data centers, or the computer/electronic/electrical manufacturing line), exactly as the U.S. Census Bureau publishes it in C30 / Value of Construction Put in Place. |
source_record_count |
records | count | count source records | true | summary.totals.source_record_count |
Count of normalized source records (category × basis × month cells) contributing to the current result scope. |
Rollup rules:
summary.totals.<metric>is the authoritative total for the full matched query.- Grouped row metrics may be summed only when
additive_across_groupsistrue. - Do not sum grouped values for these non-additive metrics:
construction_spending_musd.
Detail record fields returned when include_records is true:
source_idsheet_namesource_record_keyreport_periodcategorybasisdata_monthyearrevision_statussource_date_labelconstruction_spending_musdsource_row_numbersource_col_numberas_ofraw_file_sha256citation
Row-level citation fields:
source_idsource_urlsource_filesheetsource_rowsource_colraw_file_sha256as_of
Aggregate citation fields:
source_idpublishersource_urlsource_fileraw_file_sha256as_ofsource_rows_countsource_rows_sampleverifylineage_filter
Codebooks
| Field | Coverage | Codes | Examples | Note |
|---|---|---|---|---|
category |
the two AI-infrastructure-relevant lines of the C30 categories | 2 | data_center = Data center, computer_electronic_electrical = Computer/ electronic/ electrical |
Two DISTINCT series, never conflated: data_center is data-center buildings (Census's named subcategory under Office); computer_electronic_electrical is the semiconductor/computer-electronics manufacturing line (under Manufacturing) — the CHIPS-Act fab build-out. |
basis |
both bases for every served month | 2 | seasonally_adjusted = Seasonally adjusted (annual rate), not_seasonally_adjusted = Not seasonally adjusted (monthly level) |
seasonally_adjusted is a seasonally-adjusted ANNUAL RATE (do not sum across months); not_seasonally_adjusted is the NOT-adjusted MONTHLY LEVEL. Never mix the two bases in one total. |
The complete machine-readable codebooks are included in capability-schema.json.
Checked Examples
| Agent question | Request params | Checked output |
|---|---|---|
| What was monthly private data-center construction spending (seasonally-adjusted annual rate) through 2026? | {"basis": "seasonally_adjusted", "category": "data_center", "data_month_from": "2026-01-01", "data_month_to": "2026-12-01", "group_by": ["data_month"]} |
data-center-construction-monthly.json |
| What was monthly private semiconductor-fab construction spending (not-adjusted monthly level) through 2026? | {"basis": "not_seasonally_adjusted", "category": "computer_electronic_electrical", "data_month_from": "2026-01-01", "data_month_to": "2026-12-01", "group_by": ["data_month"]} |
fab-construction-monthly.json |
| How did data-center vs fab construction spending compare in 2026-04 (seasonally-adjusted annual rate)? | {"basis": "seasonally_adjusted", "data_month": "2026-04-01", "group_by": ["category"]} |
data-center-vs-fab-latest.json |
| Return one data-center construction record with a row-level citation. | {"basis": "seasonally_adjusted", "category": "data_center", "data_month": "2026-04-01", "include_records": true, "limit": 1} |
data-center-detail-with-citation.json |
| Verify the raw workbook row behind a returned citation | citations[ref].verify (aggregate) or records[0].citation (detail) |
source-row-evidence.json |
| Dogfood the tool sequence as an agent | list -> describe -> query -> evidence |
agent-dogfood-transcript.json |
The checked schema output is capability-schema.json.
Agent Workflow
- Call
list_capabilities_v1and selectai_infrastructure.construction. - Call
describe_ai_infrastructure_construction_v1to inspect valid filters, groupings, metrics, and citation fields. - Call
query_ai_infrastructure_construction_v1with bounded JSON params. - If the answer needs proof, pass a returned row-level
citationobject toget_source_evidence_v1. - Answer with the resolved
as_ofand relevant citations. Present returned metrics as authoritative for their declared source, snapshot, grain, and aggregation.